deinterleave

deinterleave — Splits one interleaved multichannel audio stream into many mono audio streams

Synopsis

                    GstDeinterleave;

Object Hierarchy

  GObject
   +----GstObject
         +----GstElement
               +----GstDeinterleave

Properties

  "keep-positions"           gboolean              : Read / Write

Description

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.

Example launch line

gst-launch filesrc location=/path/to/file.mp3 ! decodebin ! audioconvert ! "audio/x-raw-int,channels=2 ! deinterleave name=d  d.src0 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=channel1.ogg  d.src1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=channel2.ogg
Decodes an MP3 file and encodes the left and right channel into separate Ogg Vorbis files.
gst-launch filesrc location=file.mp3 ! decodebin ! audioconvert ! "audio/x-raw-int,channels=2" ! deinterleave name=d  interleave name=i ! audioconvert ! wavenc ! filesink location=test.wav    d.src0 ! queue ! audioconvert ! i.sink1    d.src1 ! queue ! audioconvert ! i.sink0
Decodes and deinterleaves a Stereo MP3 file into separate channels and then interleaves the channels again to a WAV file with the channel with the channels exchanged.

Details

GstDeinterleave

typedef struct _GstDeinterleave GstDeinterleave;

Property Details

The "keep-positions" property

  "keep-positions"           gboolean              : Read / Write

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.

Default value: FALSE

See Also

interleave