From 12a8fff8ac96a6c69c8fac2757bb3470f7a20b73 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Mon, 17 Oct 2011 12:00:55 +0200 Subject: [PATCH] audio: Add some default channel positions --- gst-libs/gst/audio/audio.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/audio/audio.c b/gst-libs/gst/audio/audio.c index bd9ebe97d0..95d4266e25 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;