AW: Questions about decodebin

Bernhard Graaf bernhard.graaf at gmx.de
Sun Jul 27 12:59:21 PDT 2014


Hi Sebastian,

Thanks for your answer!
I have searched for the 'start-stream'-event but found only 'WRITEME'.
Do you have any additional information's?

You are right to have a look into the tags, but then I have to use something
like:
tcpclientsrc ! decodebin name=d ! queue ! videoconvert ! xvimagesink d. !
 queue ! tee ! 
 -> audiocovert ! audioresample ! pulsesink
 -> fakesink

to recognise the second pad, unlink the pad to fakesink if additional pad
are added, and so on.

Ore use the MPEG-TS Tags, but then it's not possible to know which pads are
used for these capabilities.

Do you understand my issue?

Bernhard
-----Ursprüngliche Nachricht-----
Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Sebastian Dröge
Gesendet: Sonntag, 27. Juli 2014 14:32
An: Discussion of the development of and with GStreamer
Betreff: Re: Questions about decodebin

On So, 2014-07-27 at 10:24 +0200, Bernhard Graaf wrote:
> Hi,
> 
>  
> 
> I have a simple pipeline in C with regarding links:
> 
> tcpclientsrc ! decodebin name=d ! queue ! videoconvert ! xvimagesink d. !
> queue ! audiocovert ! audioresample ! pulsesink
> 
> I'm using gestreamer 1.2
> 
>  
> 
> The TS-Stream has more then one Audio-Stream. The capability of these
> Audio-Streams are available before decodebin (language, format, .) and I
> recognise theses with the 'autoplug-continue' signal of decodebin. 
> 
> So my question is:
> 
> - Is there any function to find out which input-stream in decobin will be
> the 'src_%d'-pad on output-side?

You can use the stream-id from the STREAM_START event for that, or
alternatively you can use the language tags if available.

> - Is any example available to save, unlink and link in runtime the
different
> 'src_%d'-pads (because of selecting a different language or format)?

In playbin this is handled with an input-selector to which all streams
are connected, and then the input-selector API is used for selecting
streams.

Otherwise it's normal dynamic pipeline stuff.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source



More information about the gstreamer-devel mailing list