GNOME Bugzilla – Bug 728312
Null caps is returned by id3demux when query caps from it.
Last modified: 2018-11-03 11:29:32 UTC
Created attachment 274414 [details] the log file that query caps. Hi: I have an mpeg2 file which has some id3_v1 data in the end of file, when i tried to play the file with playbin, an id3demux was created ahead of my demux. as no caps event was send from id3demux, i tried to query the caps from the peer pad of sink pad in my demux to load library for particular file type. however, Null caps is returned from id3demux. I have checked the gst_tag_demux_pad_query() in gsttagdemux.c and I wonder why it does not handle GST_QUERY_CAPS and return the caps of sink pad. Here is my log and the command line is gst-launch-1.0 playbin uri=file:///home/root/temp/TestSource/10Mbps/Demo1.MPG Look forward to your reply. Ming,
A full debug log might be more useful. Does your demuxer activate in pull mode or push mode? The log shows this: gstelementfactory.c:365:gst_element_factory_create: creating element "aiurdemux" gstutils.c:2761:gst_pad_query_caps:<id3demux0:src> get pad caps with filter (NULL) gstpad.c:2889:gst_pad_query_caps_default:<id3demux0:src> query caps caps query: 0x749024f0, GstQueryCaps, filter=(GstCaps)NULL, caps=(GstCaps)NULL; gstpad.c:2906:gst_pad_query_caps_default:<id3demux0:src> fixed pad caps: trying pad caps gstpad.c:2942:gst_pad_query_caps_default:<id3demux0:src> using caps 0x1d36200 video/mpeg, systemstream=(boolean)true, mpegversion=(int)1 gstutils.c:2768:gst_pad_query_caps:<id3demux0:src> query returned video/mpeg, systemstream=(boolean)true, mpegversion=(int)1
Created attachment 274429 [details] log
the demux activated in pull mode. the log you saw is the time that created the plugin, when i query it after demux loaded, no caps returned. so aiurdemux load a wrong library.
Created attachment 281658 [details] [review] get caps from src pad when query caps
Hi zmafox, is this patch still required ?
The patch is still needed in gstreamer 1.14.
This patch shouldn't be needed. gsttagdemux uses gst_pad_use_fixed_caps(srcpad) and that should do exactly what's expected. The documentation of that function explains why: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-use-fixed-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/116.