GNOME Bugzilla – Bug 618598
[matroskamux] unable to link vorbisenc (in certain order)
Last modified: 2010-05-14 11:10:38 UTC
This pipeline fails: gst-launch filesrc location=big_buck_bunny_360p24.y4m ! ffdemux_yuv4mpegpipe ! theoraenc ! queue ! matroskamux name=mux ! filesink location=big_buck_bunny_360p24.ogv filesrc location=BigBuckBunny-stereo.flac ! flacdec ! audioconvert ! vorbisenc ! queue ! mux. This is the log close to the end: 0:00:16.675250492 1042 0x804f070 DEBUG GST_ELEMENT_PADS gstutils.c:889:gst_element_get_compatible_pad_template: Looking for a suitable pad template in vorbisenc0 out of 2 templates... 0:00:16.675273750 1042 0x804f070 LOG GST_CAPS gstutils.c:900:gst_element_get_compatible_pad_template: checking pad template src 0:00:16.675294143 1042 0x804f070 DEBUG GST_CAPS gstutils.c:905:gst_element_get_compatible_pad_template: compatible direction: found src pad template "src" 0:00:16.675314956 1042 0x804f070 DEBUG GST_CAPS gstutils.c:908:gst_element_get_compatible_pad_template: intersecting video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-divx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-xvid, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-huffyuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-msmpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-theora; video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc){ YUY2, I420, YV12, UYVY, AYUV }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 0:00:16.792762080 1042 0x804f070 DEBUG GST_CAPS gstutils.c:910:gst_element_get_compatible_pad_template: ..and audio/x-vorbis 0:00:16.792813204 1042 0x804f070 DEBUG GST_CAPS gstutils.c:916:gst_element_get_compatible_pad_template: caps are not compatible 0:00:16.792827032 1042 0x804f070 LOG GST_CAPS gstutils.c:900:gst_element_get_compatible_pad_template: checking pad template sink 0:00:16.792839883 1042 0x804f070 DEBUG GST_ELEMENT_PADS gstutils.c:930:gst_element_get_compatible_pad_template: No compatible pad template found 0:00:16.792853991 1042 0x804f070 LOG GST_REFCOUNTING gstobject.c:323:gst_object_unref:<sink> 0x8185a90 unref 1->0 0:00:16.792873058 1042 0x804f070 LOG GST_REFCOUNTING gstcaps.c:415:gst_caps_unref: 0x80fbfa0 1->0 0:00:16.792907908 1042 0x804f070 LOG GST_CAPS gstcaps.c:328:_gst_caps_free: freeing caps 0x80fbfa0 0:00:16.792921388 1042 0x804f070 LOG GST_REFCOUNTING gstobject.c:442:gst_object_dispose:<sink> dispose 0:00:16.792938778 1042 0x804f070 LOG GST_REFCOUNTING gstobject.c:474:gst_object_finalize:<sink> finalize 0:00:16.792955121 1042 0x804f070 INFO GST_ELEMENT_PADS gstutils.c:1209:gst_element_get_compatible_pad:<vorbisenc0> Could not find a compatible pad to link to queue1:sink 0:00:16.792971324 1042 0x804f070 LOG GST_REFCOUNTING gstobject.c:323:gst_object_unref:<queue1:sink> 0x81833f8 unref 2->1 0:00:16.792985223 1042 0x804f070 DEBUG GST_ELEMENT_PADS gstutils.c:1768:gst_element_link_pads: we might have request pads on both sides, checking... 0:00:16.793000099 1042 0x804f070 DEBUG GST_ELEMENT_PADS gstutils.c:1809:gst_element_link_pads: no link possible from vorbisenc0 to queue1 0:00:16.840108534 1042 0x804f070 ERROR GST_PIPELINE ./grammar.y:614:gst_parse_perform_link: could not link vorbisenc0 to queue1 WARNING: erroneous pipeline: could not link vorbisenc0 to queue1 This one works: gst-launch filesrc location=BigBuckBunny-stereo.flac ! flacdec ! audioconvert ! vorbisenc ! queue ! mux. filesrc location=big_buck_bunny_360p24.y4m ! ffdemux_yuv4mpegpipe ! theoraenc ! queue ! matroskamux name=mux ! filesink location=big_buck_bunny_360p24.ogv The only difference is the order of the audio and video pads. matroskamux's audiosink_templ and videosink_templ are both request pads, so I don't really see what could be causing this.
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 563728 ***