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

Nick_law nicholas at umantec.net
Fri Jan 15 06:12:13 UTC 2021


Chris Wine wrote
> Ok, I see. You probably don't need to worry about the performance too much
> of the audio generation, unless you're really resource constrained,
> nevertheless, you can use the tee element to use the generated source
> multiple times:
> 
> 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.

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