GNOME Bugzilla – Bug 313043
Queue fails on dvdec element
Last modified: 2005-10-03 11:34:46 UTC
Version details: CVS Wed, 10 Aug 2005 01:58:59 +0200 Distribution/Version: archlinux $> gst-launch filesrc location=test.dv ! dvdec ! queue ! xvimagesink ...will fail with: ERROR (0x80508b8 - 0:00:00.046354000) GST_PIPELINE(13731) ./grammar.y(494):gst_parse_perform_link: could not link queue0 to xvimagesink0 WARNING: erroneous pipeline: could not link queue0 to xvimagesink0 $> gst-launch filesrc location=test.dv ! dvdec ! xvimagesink ... works fine. Using queue with other decoders works fine too.
The issue is that dvdec produces both audio and video, and that in the launch line the pipeline is constructed from left to right. So dvdec's audio pad is linking to the queue, which is fine, but then it's linking to xvimagesink, which fails because you can't hook audio into video. You can fix this particular case by using: gst-launch filesrc location=test.dv ! dvdec .video ! queue ! xvimagesink I've seen this problem before though; perhaps we should make dvdec have SOMETIMES pads, so as to forcibly delay linking. That would make this case work, because by the time dvdec makes its pads, queue will already be connected to xvimagesink, and will thus choose the right pad. Leaving this open for comment.
This should be fixed in 0.9, as DV now uses a demuxer+decoder pair as for other formats. The demuxer has sometimes pads.