summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-01-05 13:59:32 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2012-01-05 13:59:32 +0100
commitdd43d0697ed8b53de3a5449db54af208ac324f1c (patch)
treed6f8f428e5ff53003aacf636f431ca634ca1df37
parentf8ae2a0d5bd4733b714454cd6fbd0b66b245e051 (diff)
audio: expose API to convert channel array to a mask
-rw-r--r--gst-libs/gst/audio/audio.c17
-rw-r--r--gst-libs/gst/audio/audio.h3
2 files changed, 20 insertions, 0 deletions
diff --git a/gst-libs/gst/audio/audio.c b/gst-libs/gst/audio/audio.c
index 0eaed7c57..c51d9c9f3 100644
--- a/gst-libs/gst/audio/audio.c
+++ b/gst-libs/gst/audio/audio.c
@@ -1085,6 +1085,23 @@ gst_audio_check_valid_channel_positions (const GstAudioChannelPosition *
}
/**
+ * gst_audio_channel_positions_to_mask:
+ * @position: The %GstAudioChannelPositions
+ * @channels: The number of channels.
+ * @channel_mask: the output channel mask
+ *
+ * Convert the @position array of @channels channels to a bitmask.
+ *
+ * Returns: %TRUE if the channel positions are valid and could be converted.
+ */
+gboolean
+gst_audio_channel_positions_to_mask (const GstAudioChannelPosition * position,
+ gint channels, guint64 * channel_mask)
+{
+ return check_valid_channel_positions (position, channels, TRUE, channel_mask);
+}
+
+/**
* gst_audio_get_channel_reorder_map:
* @channels: The number of channels.
* @from: The channel positions to reorder from.
diff --git a/gst-libs/gst/audio/audio.h b/gst-libs/gst/audio/audio.h
index dac40fc68..f1a3d11e8 100644
--- a/gst-libs/gst/audio/audio.h
+++ b/gst-libs/gst/audio/audio.h
@@ -553,6 +553,9 @@ gboolean gst_audio_channel_positions_to_valid_order (GstAudioChannelPositi
gboolean gst_audio_check_valid_channel_positions (const GstAudioChannelPosition *position,
gint channels, gboolean force_order);
+gboolean gst_audio_channel_positions_to_mask (const GstAudioChannelPosition *position,
+ gint channels, guint64 *channel_mask);
+
gboolean gst_audio_get_channel_reorder_map (gint channels,
const GstAudioChannelPosition * from,
const GstAudioChannelPosition * to,