diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2021-06-14 16:04:52 -0400 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2021-06-14 16:33:15 -0400 |
commit | 4ac9f919216e567642f9e91c42061c163b1fec02 (patch) | |
tree | 6874388cda2dda3035c67eb31a5baa48d1c163f5 /gst | |
parent | a71ec17cf0f966335fe6904399202722460c182d (diff) | |
download | gstreamer-plugins-bad-4ac9f919216e567642f9e91c42061c163b1fec02.tar.gz |
alphadecodebin: Fix stall due to QoS
alphacombine element is a simple element that assumes buffers are always
paired, or at least that missing buffers are signalled with a GAP. The QoS
implementation in the GstVideoDecoder base class allow decoders dropping
frames independently and that could lead to stall in alphacombine.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2326>
Diffstat (limited to 'gst')
-rw-r--r-- | gst/codecalpha/gstalphadecodebin.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/codecalpha/gstalphadecodebin.c b/gst/codecalpha/gstalphadecodebin.c index 9f0a0a3f1..16b62858c 100644 --- a/gst/codecalpha/gstalphadecodebin.c +++ b/gst/codecalpha/gstalphadecodebin.c @@ -138,6 +138,11 @@ gst_alpha_decode_bin_constructed (GObject * obj) goto cleanup; } + /* We disable QoS on decoders because we need to maintain frame pairing in + * order for alphacombine to work. */ + g_object_set (decoder, "qos", FALSE, NULL); + g_object_set (alpha_decoder, "qos", FALSE, NULL); + alphacombine = gst_element_factory_make ("alphacombine", NULL); if (!alphacombine) { priv->missing_element = "alphacombine"; |