decodebin3: Don't avoid parsebin
even if we have a matching decoder
This is too brittle, there is no guarantee that the input stream has been properly parsed. There is another check above (is_input_parsed) that will skip that if the content came from `urisourcebin` and had a parser applied Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4308 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8641>
This commit is contained in:
parent
dd1fc2b793
commit
235b0acd63
@ -1904,21 +1904,6 @@ gst_decodebin_input_requires_parsebin (DecodebinInput * input,
|
||||
} else if (input->input_is_parsed) {
|
||||
GST_DEBUG_OBJECT (sinkpad, "input is parsed, no parsebin needed");
|
||||
parsebin_needed = FALSE;
|
||||
} else {
|
||||
GList *decoder_list;
|
||||
/* If the incoming caps are compatible with a decoder, we don't need to
|
||||
* process it before */
|
||||
g_mutex_lock (&dbin->factories_lock);
|
||||
gst_decode_bin_update_factories_list (dbin);
|
||||
decoder_list =
|
||||
gst_element_factory_list_filter (dbin->decoder_factories, newcaps,
|
||||
GST_PAD_SINK, TRUE);
|
||||
g_mutex_unlock (&dbin->factories_lock);
|
||||
if (decoder_list) {
|
||||
GST_FIXME_OBJECT (sinkpad, "parsebin not needed (available decoders) !");
|
||||
gst_plugin_feature_list_free (decoder_list);
|
||||
parsebin_needed = FALSE;
|
||||
}
|
||||
}
|
||||
if (stream)
|
||||
gst_object_unref (stream);
|
||||
|
Loading…
x
Reference in New Issue
Block a user