diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-05 13:59:32 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-05 13:59:32 +0100 |
commit | dd43d0697ed8b53de3a5449db54af208ac324f1c (patch) | |
tree | d6f8f428e5ff53003aacf636f431ca634ca1df37 | |
parent | f8ae2a0d5bd4733b714454cd6fbd0b66b245e051 (diff) |
audio: expose API to convert channel array to a mask
-rw-r--r-- | gst-libs/gst/audio/audio.c | 17 | ||||
-rw-r--r-- | gst-libs/gst/audio/audio.h | 3 |
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, |