[0.11] gst-plugins-base: audio: Add new channel positions and simplify channel expression in the caps

Sebastian Dröge slomo at kemper.freedesktop.org
Thu Jan 5 01:35:59 PST 2012

Module: gst-plugins-base
Branch: 0.11
Commit: c227f5e77e35ad914b26597f1b40fc6a7c100b3c
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=c227f5e77e35ad914b26597f1b40fc6a7c100b3c

Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date:   Fri Dec 16 10:55:13 2011 +0100

audio: Add new channel positions and simplify channel expression in the caps

The available channel positions are all channels from SMPTE 2036-2-2008
(in that order) and DTS Coherent Acoustics, which are basically all 28
channels that currently can appear.

The channels are now expressed in the caps as a channel-mask, which
describes which of the channels are present, and an optional
channel-reorder-map, which must only be used after negotiation for
fixated caps.

For negotiation only the channel-mask and the channel count is relevant
and all elements are expected to handle all reorder maps. Elements that
don't can use the new API to reorder an audio buffer from any order to
another order.

This simplifies negotiation a lot while still having as few reorderings
necassary as possible and still allow all kinds of channel layouts.


 gst-libs/gst/audio/Makefile.am    |    4 +-
 gst-libs/gst/audio/audio.c        |  348 ++++++++++++++---
 gst-libs/gst/audio/audio.h        |  128 ++++++-
 gst-libs/gst/audio/multichannel.c |  764 -------------------------------------
 gst-libs/gst/audio/multichannel.h |  134 -------
 5 files changed, 412 insertions(+), 966 deletions(-)

Diff:   http://cgit.freedesktop.org/gstreamer/gst-plugins-base/diff/?id=c227f5e77e35ad914b26597f1b40fc6a7c100b3c

More information about the gstreamer-commits mailing list