[gst-devel] Help building a pipeline

Stefan Kost ensonic at hora-obscura.de
Sun Apr 11 21:22:35 CEST 2010


hi,

Am 10.04.2010 01:00, schrieb J. Rios:
> I have done this
> 
> One bin called outputbin with this elements
> tee ! queue ! audioconvert ! rgvolume ! level ! equalizer-10bands !
> limiter ! volume ! audioconvert ! autoaudiosink
> 
> I attached this outputbin as "audio-sink" of a playbin
> 
> so i have
> playbin ! outputbin

no no. Please re-read my previous email. Playbin/playbin2 are pipleines without
pads, you cannot link to them. Please check the returns code of function calls
in your code, you will see that the linke for playbin ! outputbin will fail.
Pass outputbin to playbin (or better playbin2) by using the audio-sink property
instead.

Stefan

> 
> I then do the recordbin on demand of the user with this elements
> queue ! audioconvert ! lame ! filesink
> 
> I add this recordbin to the outputbin and link the tee with the queue of
> the recordbin
> 
> the recording works correctly but while I im listening an online stream
> and recording I usually get this message (when running with --gst-debug=2)
> 
> 0:02:58.811503553 32083      0x38845c0 WARN                   pulse
> pulsesink.c:523:gst_pulsering_stream_underflow_cb:<autoaudiosink2-actual-sink-pulse>
> Got underflow
> 
> and playback stops.
> 
> When its at this point the only way to restore is to restart the
> playback from start but I get some ref_count > 0 warnings.
> 
> I control when I receive BUFFERING messages and if so playback is
> restored fine. What Am I doing wrong?
> 
> Also when I receive tags I want to change the output file of the
> filesink so I need to do this
> 
> gst_element_set_state( recordbin, GST_STATE_NULL );
> g_object_set( filesink, "location", uristr, NULL );
> gst_element_set_state( recording, GST_STATE_PLAYING );
> 
> Its usually at this point when I get the underflow message but not always.
> 
> Thanks in advance for your help
> 
> J.Rios
> 
> 
> 
> 
> On Mon, Apr 5, 2010 at 12:42 PM, Stefan Kost <ensonic at hora-obscura.de
> <mailto:ensonic at hora-obscura.de>> wrote:
> 
>     Am 03.04.2010 17:16, schrieb J. Rios:
>     > Hello,
>     >   I have right now this pipeline.
>     >
>     > playbin2 | audioconvert | rgvolume | level | equalizer-10bands |
>     > rglimiter | volume | autoaudiosink
>     >
>     > I want to attach this so I can record to a file all the output.
>     >        audioconvert | vorbisenc | gnomevfssink
> 
>     It does not work like you do it above. playbin2 does not have any
>     outputs you
>     can link to. two options:
>     1.) Use decodebin2 / uridecodebin
>     2.) use playbin2, but set audiosink to a bin that containes tee
>     name=t ! queue !
>     autoaudiosink t. ! queue ! audioconvert | vorbisenc | gnomevfssink
> 
>     Stefan
> 
>     >
>     > I think the best is attach it just after the playbin2 using a tee.
>     But I
>     > tried to do it and failed. How could this be done ? any example of
>     > something similar to this ?
>     >
>     > Thanks in advance
>     > J.Rios
>     >
>     >
>     >
>     >
>     >
>     ------------------------------------------------------------------------------
>     > Download Intel&#174; Parallel Studio Eval
>     > Try the new software tools for yourself. Speed compiling, find bugs
>     > proactively, and fine-tune applications for parallel performance.
>     > See why Intel Parallel Studio got high marks during beta.
>     > http://p.sf.net/sfu/intel-sw-dev
>     >
>     >
>     >
>     > _______________________________________________
>     > gstreamer-devel mailing list
>     > gstreamer-devel at lists.sourceforge.net
>     <mailto:gstreamer-devel at lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
> 





More information about the gstreamer-devel mailing list