Help building a pipeline

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Help building a pipeline

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

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® 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Help building a pipeline

Ron McOuat
You need a queue in each branch after the tee in order for pre-roll to complete. The queue buffers and splits the pipeline sections into different threads.

playbin2 ! tee name=t   t. ! audioconvert ! rgvolume....   t. ! audioconvert ! vorbisenc ! gnomevfssink.....

On 10-04-03 7:16 AM, J. Rios wrote:
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

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® 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

------------------------------------------------------------------------------
Download Intel® 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Help building a pipeline

Stefan Sauer
In reply to this post by J. Rios
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® 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Download Intel® 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Help building a pipeline

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

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 <[hidden email]> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Help building a pipeline

Stefan Sauer
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 <[hidden email]
> <mailto:[hidden email]>> 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
>     > [hidden email]
>     <mailto:[hidden email]>
>     > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Help building a pipeline

J. Rios
Please re-read my previous email. I told you I attached the outputbin  as audio-sink of the playbin (playbin2) in this case.

Anyway I think I have fixed the problem locking and unlocking the tee source pad of the record bin when doing the location change of the filesink.

Thanks

On Sun, Apr 11, 2010 at 8:22 PM, Stefan Kost <[hidden email]> wrote:
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 <[hidden email]
> <mailto:[hidden email]>> 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
>     > [hidden email]
>     <mailto:[hidden email]>


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel