[gst-devel] Requesting a sink pad from a muxer in the "new-decoded-pad" callback?

Francis Rammeloo francis.rammeloo at gmail.com
Tue Jan 12 15:38:48 CET 2010


I would like to create a pipeline that takes an WMV file and converts it
into a MP4 (H264 + AAC) file. The WMV file contains an unknown number of
video and audio streams (usually around 4 video streams, and 20-30 audio
streams). Because the number of streams is not known I can't use gst-launch
(I think?).

My initial approach was to use a decodebin2 and link each decoded pad (in
the new-decoded-pad callback) to an audio/video encoder element and then
link the encoder element to a newly request sink pad of the muxer. However,
this led to internal dataflow errors. Apparently (
http://n4.nabble.com/ffmux-mp4-audio-signal-not-emitted-td970892.html#a970892)
you can't request a sink pad once the muxer has been initialized.

The solution seems to be to request all sink pads before setting the
pipeline to play state. But the problem is that I don't know how many
streams there will be in the video file.

So before I start messing with workarounds, I'd thought I ask the mailing
list first. Can someone help me solve this problem?

Grts,
Francis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100112/cd8c5963/attachment.htm>


More information about the gstreamer-devel mailing list