GNOME Bugzilla – Bug 748521
videodecoder: decide_allocation w/ caps = NULL
Last modified: 2018-11-03 11:37:13 UTC
In gst_video_decoder_decide_allocation_default: gst_query_parse_allocation (query, &outcaps, NULL); gst_video_info_init (&vinfo); if (outcaps) gst_video_info_from_caps (&vinfo, outcaps); However, outcaps == NULL is not legit to begin with, and will cause an assertion later in: gst_buffer_pool_config_validate_params (config, outcaps, size, min, max) I think the 'if (outcaps)' check can be discarded. Additionally, we might want to fail fast if !outcaps -- both in gst_video_decoder_decide_allocation_default and gst_base_src_decide_allocation_default.
Trying to see how we ended down there: In gst_video_decoder_negotiate_default: if (!state) { GST_DEBUG_OBJECT (decoder, "Trying to negotiate the pool with out setting the o/p format"); ret = gst_video_decoder_negotiate_pool (decoder, NULL); // ^^^^ In gst_video_decoder_negotiate_pool: query = gst_query_new_allocation (caps, TRUE); // ^^^^ == NULL That's how we end up sending gst_query_new_allocation with NULL caps.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/184.