GNOME Bugzilla – Bug 782135
filesink/basesink: gst_element_query() for QUERY_URI on a filesink fails
Last modified: 2018-11-03 12:40:45 UTC
I'm trying to do a GST_QUERY_URI on a filesink using gst_element_query(), but the query is never handled and fails. (It's actually on a bin containing a filesink, but I don't think that matters). GstBaseSink's default_element_query() handles the query, and defaults to doing gst_pad_peer_query(). This sends the query upstream through the muxer, parser, etc., but the filesink itself never gets to answer. filesink implements GstBaseSink::query() and handles GST_QUERY_URI there, but it looks like basesink only calls that for a pad query, not element query. I can query the bin's sink pad instead, but gst_element_query(filesink, GST_QUERY_URI) seems like something that should work. Is this the case? Relevant debug lines: GST_ELEMENT_PADS gstelement.c:1707:gst_element_query: send query on element tdstream0 bin gstbin.c:4376:gst_bin_query:<tdstream0> Sending query 0x29c6c0 (type uri) to sink children GST_ELEMENT_PADS gstelement.c:1707:gst_element_query: send query on element filesink GST_PADS gstpad.c:4059:gst_pad_peer_query:<filesink:sink> peer query 0x29c6c0 (uri) GST_PADS gstpad.c:3932:gst_pad_query:<muxer:src> doing query 0x29c6c0 (uri) GST_PADS gstpad.c:3376:gst_pad_query_default:<muxer:src> forwarding 0x29c6c0 (uri) query GST_PADS gstpad.c:2836:gst_pad_iterate_internal_links_default:<muxer:src> Making iterator GST_PADS gstpad.c:4059:gst_pad_peer_query:<muxer:video_0> peer query 0x29c6c0 (uri) GST_PADS gstpad.c:3932:gst_pad_query:<parser:src> doing query 0x29c6c0 (uri) GST_PADS gstpad.c:3376:gst_pad_query_default:<parser:src> forwarding 0x29c6c0 (uri) query GST_PADS gstpad.c:2836:gst_pad_iterate_internal_links_default:<parser:src> Making iterator GST_PADS gstpad.c:4059:gst_pad_peer_query:<parser:sink> peer query 0x29c6c0 (uri) ... queries all the way to the src
-- 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/gstreamer/issues/231.