[gst-devel] How can I make two links between two elements?
Edward Hervey
bilboed at gmail.com
Wed Jul 21 08:41:51 CEST 2010
On Tue, 2010-07-20 at 02:02 -0700, wl2776 wrote:
> I'd like to mimic playbin2's behavior and construct similar pipeline using
> gst-launch.
>
> When playbin2 loads mpeg2 file, it creates mpegpsdemux with two source pads
> (one pad per elementary stream) and multiqueue with two sink pads connects
> them:
>
>
> +----------------+ +--------------+
> |GstMpegPSDemux | |GstMultiQueue |
> -> |sink | ----> |sink0 src0 |--->
> | video_e0|--' | |
> | audio_c0|------->|sink1 src1 |--->
> +----------------+ +--------------+
>
> However, I cannot do that.
>
> The pipeline
>
> "filesrc location=/path/video/10.mpg ! typefind ! mpegpsdemux name=demux
> demux.video_e0,audio_c0 ! multiqueue.sink0,sink1 multiqueue0 ! video/mpeg !
> mpegvideoparse ! mpeg2dec ! queue ! ffmpegcolorspace ! autovideosink
> multiqueue0 ! audio/mpeg ! mp3parse ! fakesink "
You can't link multiple pads in one go like that you need to do
something like:
... ! sourceelement name=d sinkelement name=m ! ...
d.first_pad ! m.first_pad d.second_pad ! m.second_pad
>
> doesn't create multiqueue and doesn't connect audio source pad from the
> MPEG-PS demuxer.
More information about the gstreamer-devel
mailing list