From 4ed342db5d3da7baabad258b5530a1724c268e04 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 23 Jul 2021 11:04:00 +0200 Subject: [PATCH] qt: Support RGB format In GstQSGTexture::hasAlphaChannel return value based on whether the video format has alpha channel. Part-of: --- ext/qt/gstqsgtexture.cc | 7 +++++-- ext/qt/gstqtsink.cc | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc index 5b7d8b7f07..1ba33b573b 100644 --- a/ext/qt/gstqsgtexture.cc +++ b/ext/qt/gstqsgtexture.cc @@ -228,8 +228,11 @@ GstQSGTexture::textureSize () const bool GstQSGTexture::hasAlphaChannel () const { - /* FIXME: support RGB textures */ - return true; + const bool has_alpha = GST_VIDEO_FORMAT_INFO_HAS_ALPHA(this->v_info.finfo); + + GST_LOG ("%p get has alpha channel %u", this, has_alpha); + + return has_alpha; } /* can be called from any thread */ diff --git a/ext/qt/gstqtsink.cc b/ext/qt/gstqtsink.cc index 8f55b72be8..ccd0994e40 100644 --- a/ext/qt/gstqtsink.cc +++ b/ext/qt/gstqtsink.cc @@ -108,7 +108,7 @@ GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), " - "format = (string) RGBA, " + "format = (string) { RGB, RGBA }, " "width = " GST_VIDEO_SIZE_RANGE ", " "height = " GST_VIDEO_SIZE_RANGE ", " "framerate = " GST_VIDEO_FPS_RANGE ", "