[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