From 32a4953882c834509244fa9ce4af0fa5d3fcd1fa Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sat, 14 Nov 2020 09:43:59 +0100 Subject: [PATCH] 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: --- gst/playback/gstdecodebin3-parse.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst/playback/gstdecodebin3-parse.c b/gst/playback/gstdecodebin3-parse.c index aea0f666d2..1c23d0daf5 100644 --- a/gst/playback/gstdecodebin3-parse.c +++ b/gst/playback/gstdecodebin3-parse.c @@ -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) {