[FFmpeg-devel] [PATCH] alsdec: change channel sorting so it match reference implementation

Paul B Mahol onemda at gmail.com
Fri Jan 4 21:50:46 CET 2013


Read channel source instead of channel target for channel sorting.

Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 libavcodec/alsdec.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 9d80ea9..8b9c2ee 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -356,12 +356,15 @@ static av_cold int read_specific_config(ALSDecContext *ctx)
             return AVERROR(ENOMEM);
 
         for (i = 0; i < avctx->channels; i++) {
-            sconf->chan_pos[i] = get_bits(&gb, chan_pos_bits);
-            if (sconf->chan_pos[i] >= avctx->channels) {
+            int idx;
+
+            idx = get_bits(&gb, chan_pos_bits);
+            if (idx >= avctx->channels) {
                 av_log(avctx, AV_LOG_WARNING, "Invalid channel reordering.\n");
                 sconf->chan_sort = 0;
                 break;
             }
+            sconf->chan_pos[idx] = i;
         }
 
         align_get_bits(&gb);
-- 
1.7.11.4



More information about the ffmpeg-devel mailing list