[alsa-devel] [PATCH - alsa-plugins 1/2] a52 - fix 5.1 channel order with recent libavcodec
Anssi Hannula
anssi.hannula at iki.fi
Fri Nov 27 16:15:45 CET 2009
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 <anssi.hannula at iki.fi>
---
a52/pcm_a52.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
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;
--
1.6.4.4
More information about the Alsa-devel
mailing list