[0.11] gst-plugins-base: audio: Add some default channel positions
Edward Hervey
bilboed at kemper.freedesktop.org
Mon Oct 17 03:03:22 PDT 2011
Module: gst-plugins-base
Branch: 0.11
Commit: 12a8fff8ac96a6c69c8fac2757bb3470f7a20b73
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=12a8fff8ac96a6c69c8fac2757bb3470f7a20b73
Author: Edward Hervey <edward.hervey at collabora.co.uk>
Date: Mon Oct 17 12:00:55 2011 +0200
audio: Add some default channel positions
---
gst-libs/gst/audio/audio.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/gst-libs/gst/audio/audio.c b/gst-libs/gst/audio/audio.c
index bd9ebe9..95d4266 100644
--- a/gst-libs/gst/audio/audio.c
+++ b/gst-libs/gst/audio/audio.c
@@ -356,13 +356,25 @@ gst_audio_info_from_caps (GstAudioInfo * info, const GstCaps * caps)
if (channels != gst_value_array_get_size (pos_val_arr))
goto incoherent_channels;
+ /* FIXME : Detect if it's the default channel position */
for (i = 0; i < max_pos; i++) {
pos_val_entry = gst_value_array_get_value (pos_val_arr, i);
info->position[i] = g_value_get_enum (pos_val_entry);
}
} else {
info->flags |= GST_AUDIO_FLAG_DEFAULT_POSITIONS;
- /* FIXME, set default positions */
+ /* FIXME, set more default positions */
+ switch (channels) {
+ case 1:
+ info->position[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_MONO;
+ break;
+ case 2:
+ info->position[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+ info->position[1] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+ break;
+ default:
+ break;
+ }
}
return TRUE;
More information about the gstreamer-commits
mailing list