decodebin3: Properly handle caps query with no filter

There's no guarantee that upstream elements will do queries with specified
filter caps. If that's the case, just return GST_CAPS_ANY

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/933>
This commit is contained in:
Edward Hervey 2020-11-14 09:43:59 +01:00 committed by Edward Hervey
parent 78ccc551d6
commit 32a4953882

View file

@ -145,6 +145,10 @@ get_parser_caps_filter (GstDecodebin3 * dbin, GstCaps * caps)
GList *tmp;
GstCaps *filter_caps = gst_caps_new_empty ();
/* If no filter was provided, it can handle anything */
if (!caps || gst_caps_is_any (caps))
return gst_caps_new_any ();
g_mutex_lock (&dbin->factories_lock);
gst_decode_bin_update_factories_list (dbin);
for (tmp = dbin->decoder_factories; tmp; tmp = tmp->next) {