[gst-devel] adder: Trying to get my head around it

Laszlo Pandy laszlok2 at gmail.com
Mon Jun 15 16:31:46 CEST 2009


Take a look at the this line:
/GstPipeline:pipeline0/GstAdder:mix.GstPad:sink0: caps =
audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2

The sink pad on the adder is using rate=44100, likely because the
alsasrc device=bluetooth is connecting first. Adder does NOT do any
conversion of streams, you have to do it yourself and make sure they
are compatible. You must either remove the "audio/x-raw-int,
rate=8000" caps or also put them after your second alsasrc, for
example:

alsasrc ! audioconvert ! audioresample ! audio/x-raw-int, rate=8000,
channel=1 ! adder name=mix ! alsasink device=bluetooth sync=false
alsasrc device=bluetooth ! audioconvert ! audioresample !
audio/x-raw-int, rate=8000, channel=1 ! mix.

I have not tested this pipeline, but this is the reason why it fails
to negotiate.

Laszlo

On Sun, Jun 14, 2009 at 3:09 PM, John R.<johnr at wowway.com> wrote:
> Hello,
>
> The following pipeline works for me:
>
> gst-launch-v alsasrc ! audioconvert ! audioresample ! audio/x-raw-int,
> rate=8000, channel=1 ! alsasink device=bluetooth sync=false
>
> Now I want to mix in the bluetooth mic input.  I have tried a variety of
> pipelines but have not gotten it to work.
>
>
> This one seems the closet but fails at some point:
>
> -0.10 -v alsasrc ! audioconvert ! audioresample ! audio/x-raw-int,
> rate=8000, channel=1 ! adder name=mix ! alsasink device=bluetooth
> sync=false alsasrc device=bluetooth ! mix.
>           Setting pipeline to PAUSED ...
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc1: actual-buffer-time = 200000
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc1: actual-latency-time = 10000
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc1.GstPad:src: caps =
> audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
> width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-buffer-time = 191250
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-latency-time = 21250
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps =
> audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
> width=(int)32, depth=(int)32, rate=(int)8000, channels=(int)2
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> /GstPipeline:pipeline0/GstAdder:mix.GstPad:sink0: caps =
> audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
> width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
> New clock: GstAudioSrcClock
> ERROR: from element /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: Internal
> data flow error.
> Additional debug info:
> gstbasesrc.c(2334): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0:
> streaming task paused, reason not-negotiated (-4)
> Execution ended after 48897890 ns.
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> /GstPipeline:pipeline0/GstAlsaSink:alsasink0.GstPad:sink: caps =
> audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
> width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
> /GstPipeline:pipeline0/GstAlsaSink:alsasink0.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstAdder:mix.GstPad:sink1: caps = NULL
> /GstPipeline:pipeline0/GstAdder:mix.GstPad:sink0: caps = NULL
> /GstPipeline:pipeline0/GstAdder:mix.GstPad:src: caps = NULL
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc1.GstPad:src: caps = NULL
> /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps = NULL
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
>
> Any ideas?
>
> Thanks,
>
> John
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>




More information about the gstreamer-devel mailing list