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. --- ChangeLog | 6 ++++++ common | 2 +- gst-libs/gst/audio/multichannel.c | 16 +++++++++------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9f304d70..c4ed2adb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-06-06 Benjamin Otte + + * 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. + 2005-06-03 Ronald S. Bultje * ext/cdparanoia/gstcdparanoia.c: (set_track), (cdparanoia_event): diff --git a/common b/common index 67b7e6c0..495d6e30 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 67b7e6c0db99415e0440d0c576495641b53e976a +Subproject commit 495d6e30b3e513aebbc98467707c609c49ea654d 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