How to generate 2 audio tones and map to specific channel positions (bitmask)

Nick_law nicholas at umantec.net
Fri Jan 15 06:33:09 UTC 2021


Sorry I see the issue, just the order of linking the interleave, you do that
first while I do it last. 

here is my working solution for future readers:

gst-launch-1.0 interleave name=i \
audiotestsrc wave=0 freq=100 volume=0.4 ! decodebin ! audioconvert ! \
"audio/x-raw,format=S16BE,channels=1" ! tee name=t1 \
audiotestsrc wave=2 freq=100 volume=0.4 ! decodebin ! audioconvert ! \
"audio/x-raw,format=S16BE,channels=1" ! tee name=t2 \
t1. ! queue ! i. \
t2. ! queue ! i. \
t1. ! queue ! i. \
t2. ! queue ! i. \
i.src ! capssetter
caps="audio/x-raw,format=S16BE,channels=4,channel-mask=(bitmask)0xf" \
! audioconvert ! audioresample ! wavenc ! filesink location=test.wav


Nick_law wrote
> Thanks Chris this is exactly the kind of thing I'm looking for.
> Please excuse my ignorance but not sure how to then link i (i.src) to
> complete the command and generate a wav.
> 
> gst-launch-1.0 
> interleave name=i ! wavenc ! filesink location=test.wav 
> audiotestsrc wave=0 freq=100 volume=0.4 ! audio/x-raw,channels=1 ! tee
> name=t1 
> audiotestsrc wave=2 freq=100 volume=0.4 ! audio/x-raw,channels=1 ! tee
> name=t2 
> t1. ! queue ! i. 
> t2. ! queue ! i. 
> t1. ! queue ! i. 
> t2. ! queue ! i. 
> i.src ! capssetter
> caps="audio/x-raw,format=S16BE,channels=4,channel-mask=(bitmask)0xf" 
> ! audioconvert ! audioresample ! wavenc ! filesink location=test.wav
> 
> gives the error:
> WARNING: erroneous pipeline: could not link i to capssetter0
> 
> what am I missing?





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list