Top |
Splits one interleaved multichannel audio stream into many mono audio streams.
This element handles all raw audio formats and supports changing the input caps as long as all downstream elements can handle the new caps and the number of channels and the channel positions stay the same. This restriction will be removed in later versions by adding or removing some source pads as required.
In most cases a queue and an audioconvert element should be added after each source pad before further processing of the audio data.
1 |
gst-launch-1.0 filesrc location=/path/to/file.mp3 ! decodebin ! audioconvert ! "audio/x-raw,channels=2 ! deinterleave name=d d.src_0 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=channel1.ogg d.src_1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=channel2.ogg |
1 |
gst-launch-1.0 filesrc location=file.mp3 ! decodebin ! audioconvert ! "audio/x-raw,channels=2" ! deinterleave name=d interleave name=i ! audioconvert ! wavenc ! filesink location=test.wav d.src_0 ! queue ! audioconvert ! i.sink_1 d.src_1 ! queue ! audioconvert ! i.sink_0 |
plugin |
interleave |
author |
Andy Wingo <wingo at pobox.com>, Iain <iain@prettypeople.org>, Sebastian Dröge <slomo@circular-chaos.org> |
class |
Filter/Converter/Audio |
name |
sink |
direction |
sink |
presence |
always |
details |
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved |
name |
src_%u |
direction |
source |
presence |
sometimes |
details |
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)1, layout=(string){ non-interleaved, interleaved } |
“keep-positions”
property “keep-positions” gboolean
Keep positions: When enable the caps on the output buffers will contain the original channel positions. This can be used to correctly interleave the output again later but can also lead to unwanted effects if the output should be handled as Mono.
Flags: Read / Write
Default value: FALSE