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>
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";
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";