From: Anssi Hannula Date: Fri, 27 Nov 2009 15:15:45 +0000 (+0200) Subject: a52 - fix 5.1 channel order with recent libavcodec X-Git-Tag: v1.0.22~3 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=dfe0c4fe6fc26c94d633316ce8f85cb0c17ff807;p=alsa-plugins.git a52 - fix 5.1 channel order with recent libavcodec As of SVN r18540 libavcodec expects 5.1 channel audio with SMPTE channel order. Fix ALSA a52 plugin to use that order when built against such a libavcodec. Minor version of libavcodec was raised on the same day (Apr 17th 2009), so use that for the check. Signed-off-by: Anssi Hannula Signed-off-by: Takashi Iwai --- diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c index 1abfdaa..b95d7d4 100644 --- a/a52/pcm_a52.c +++ b/a52/pcm_a52.c @@ -170,7 +170,13 @@ static int fill_data(snd_pcm_ioplug_t *io, static unsigned int ch_index[3][6] = { { 0, 1 }, { 0, 1, 2, 3 }, +#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 26) + /* current libavcodec expects SMPTE order */ + { 0, 1, 4, 5, 2, 3 }, +#else + /* libavcodec older than r18540 expects A52 order */ { 0, 4, 1, 2, 3, 5 }, +#endif }; /* flatten copy to n-channel interleaved */ dst_step = io->channels;