audio: expose API to convert channel array to a mask
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 5 Jan 2012 12:59:32 +0000 (13:59 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Thu, 5 Jan 2012 12:59:32 +0000 (13:59 +0100)
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h

index 0eaed7c..c51d9c9 100644 (file)
@@ -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.
index dac40fc..f1a3d11 100644 (file)
@@ -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,