mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
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>
This commit is contained in:
parent
a71ec17cf0
commit
4ac9f91921
2 changed files with 10 additions and 0 deletions
|
@ -138,6 +138,11 @@ gst_alpha_decode_bin_constructed (GObject * obj)
|
||||||
goto cleanup;
|
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);
|
alphacombine = gst_element_factory_make ("alphacombine", NULL);
|
||||||
if (!alphacombine) {
|
if (!alphacombine) {
|
||||||
priv->missing_element = "alphacombine";
|
priv->missing_element = "alphacombine";
|
||||||
|
|
|
@ -141,6 +141,11 @@ gst_v4l2_codec_alpha_decode_bin_constructed (GObject * obj)
|
||||||
goto cleanup;
|
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);
|
alphacombine = gst_element_factory_make ("alphacombine", NULL);
|
||||||
if (!alphacombine) {
|
if (!alphacombine) {
|
||||||
priv->missing_element = "alphacombine";
|
priv->missing_element = "alphacombine";
|
||||||
|
|
Loading…
Reference in a new issue