From ee805b0c6f7f4a62f210de608bba19da98939b8e Mon Sep 17 00:00:00 2001 From: Mark Kendall Date: Thu, 14 Mar 2019 13:04:42 +0000 Subject: [PATCH] MythVideoTexture: Mark frames as valid when data has been uploaded - only applies to software frames --- mythtv/libs/libmythtv/mythvideotexture.cpp | 3 +++ mythtv/libs/libmythtv/mythvideotexture.h | 1 + 2 files changed, 4 insertions(+) diff --git a/mythtv/libs/libmythtv/mythvideotexture.cpp b/mythtv/libs/libmythtv/mythvideotexture.cpp index 2f3d0fafd65..2857392aee8 100644 --- a/mythtv/libs/libmythtv/mythvideotexture.cpp +++ b/mythtv/libs/libmythtv/mythvideotexture.cpp @@ -337,6 +337,7 @@ void MythVideoTexture::YV12ToYV12(MythRenderOpenGL *Context, const VideoFrame *F // Update Texture->m_texture->setData(Texture->m_pixelFormat, Texture->m_pixelType, static_cast(buffer) + offset); + Texture->m_valid = true; } /// \brief Copy YV12 frame data to a YUYV texture. @@ -375,6 +376,7 @@ void MythVideoTexture::YV12ToYUYV(MythRenderOpenGL *Context, const VideoFrame *F // Update Texture->m_texture->setData(Texture->m_pixelFormat, Texture->m_pixelType, buffer); + Texture->m_valid = true; } /// \brief Copy YV12 frame data to a YUYV texture with high quality interlaced chroma sampling. @@ -402,6 +404,7 @@ void MythVideoTexture::YV12ToYUYVHQ(MythRenderOpenGL *Context, const VideoFrame // Update Texture->m_texture->setData(Texture->m_pixelFormat, Texture->m_pixelType, Texture->m_data); + Texture->m_valid = true; } /// \brief Create a data buffer for holding CPU side texture data. diff --git a/mythtv/libs/libmythtv/mythvideotexture.h b/mythtv/libs/libmythtv/mythvideotexture.h index 9e8f1d6af21..23339d0c249 100644 --- a/mythtv/libs/libmythtv/mythvideotexture.h +++ b/mythtv/libs/libmythtv/mythvideotexture.h @@ -49,6 +49,7 @@ class MythVideoTexture : public MythGLTexture ~MythVideoTexture(); public: + bool m_valid { false }; VideoFrameType m_frameType { FMT_NONE }; VideoFrameType m_frameFormat { FMT_NONE }; uint m_plane { 0 };