From 4b328a236c5ed431509afaa1c3ff00da9c93b745 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 28 Mar 2022 17:39:25 +0400 Subject: [PATCH] Fix NV12 video rendering in Picture-in-Picture panel. --- Telegram/SourceFiles/media/view/media_view_overlay_opengl.cpp | 4 ++++ Telegram/SourceFiles/media/view/media_view_pip_opengl.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_opengl.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_opengl.cpp index 6a5d4b44c7..584de9d14d 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_opengl.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_opengl.cpp @@ -241,6 +241,10 @@ void OverlayWidget::RendererGL::paintTransformedVideoFrame( _chromaSize, yuv->u.stride / (nv12 ? 2 : 1), yuv->u.data); + if (nv12) { + _chromaSize = yuv->chromaSize; + _f->glPixelStorei(GL_UNPACK_ALIGNMENT, 4); + } } if (!nv12) { _f->glActiveTexture(GL_TEXTURE2); diff --git a/Telegram/SourceFiles/media/view/media_view_pip_opengl.cpp b/Telegram/SourceFiles/media/view/media_view_pip_opengl.cpp index 5c41cfa56e..e0ba0914d8 100644 --- a/Telegram/SourceFiles/media/view/media_view_pip_opengl.cpp +++ b/Telegram/SourceFiles/media/view/media_view_pip_opengl.cpp @@ -334,6 +334,10 @@ void Pip::RendererGL::paintTransformedVideoFrame( _chromaSize, yuv->u.stride / (nv12 ? 2 : 1), yuv->u.data); + if (nv12) { + _chromaSize = yuv->chromaSize; + _f->glPixelStorei(GL_UNPACK_ALIGNMENT, 4); + } } if (!nv12) { _f->glActiveTexture(GL_TEXTURE2);