From 7a07f4b0a52b17ccdc3e551385c6f593f5157ca8 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 6 Jun 2005 15:41:52 +0000 Subject: gst-libs/gst/audio/multichannel.c: revert my patch from 2005-06-01. I confused arrays and lists. Original commit message from CVS: * gst-libs/gst/audio/multichannel.c: (gst_audio_set_structure_channel_positions_list): revert my patch from 2005-06-01. I confused arrays and lists. --- gst-libs/gst/audio/multichannel.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'gst-libs/gst/audio') diff --git a/gst-libs/gst/audio/multichannel.c b/gst-libs/gst/audio/multichannel.c index 61d7403e..67c055d9 100644 --- a/gst-libs/gst/audio/multichannel.c +++ b/gst-libs/gst/audio/multichannel.c @@ -256,7 +256,7 @@ void gst_audio_set_structure_channel_positions_list (GstStructure * str, const GstAudioChannelPosition * pos, gint num_positions) { - gint channels, c; + gint channels, n, c; GValue pos_val_arr = { 0 }, pos_val_list = { 0}, pos_val_entry = { 0}; @@ -278,13 +278,15 @@ gst_audio_set_structure_channel_positions_list (GstStructure * str, /* create the array of lists */ g_value_init (&pos_val_arr, GST_TYPE_FIXED_LIST); g_value_init (&pos_val_entry, GST_TYPE_AUDIO_CHANNEL_POSITION); - g_value_init (&pos_val_list, GST_TYPE_LIST); - for (c = 0; c < num_positions; c++) { - g_value_set_enum (&pos_val_entry, pos[c]); - gst_value_list_append_value (&pos_val_list, &pos_val_entry); + for (n = 0; n < channels; n++) { + g_value_init (&pos_val_list, GST_TYPE_LIST); + for (c = 0; c < num_positions; c++) { + g_value_set_enum (&pos_val_entry, pos[c]); + gst_value_list_append_value (&pos_val_list, &pos_val_entry); + } + gst_value_list_append_value (&pos_val_arr, &pos_val_list); + g_value_unset (&pos_val_list); } - gst_value_list_append_value (&pos_val_arr, &pos_val_list); - g_value_unset (&pos_val_list); g_value_unset (&pos_val_entry); gst_structure_set_value (str, GST_AUDIO_CHANNEL_POSITIONS_PROPERTY_NAME, &pos_val_arr); -- cgit v1.2.1