From 7b17a4e2c4e5a9bd158a5ddcb0f878c857bd738f Mon Sep 17 00:00:00 2001 From: ulion Date: Sat, 7 Jun 2008 13:04:53 +0000 Subject: [PATCH] Fix channel order for libvorbis decoder, original patched by Nicolas George. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27020 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ad_libvorbis.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libmpcodecs/ad_libvorbis.c b/libmpcodecs/ad_libvorbis.c index 900dc87707..f693d662cf 100644 --- a/libmpcodecs/ad_libvorbis.c +++ b/libmpcodecs/ad_libvorbis.c @@ -7,6 +7,7 @@ #include "config.h" #include "ad_internal.h" +#include "libaf/reorder_ch.h" static ad_info_t info = { @@ -316,6 +317,12 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen) // if (!samples) break; // why? how? } + if (len > 0 && ov->vi.channels >= 5) { + reorder_channel_nch(buf, AF_CHANNEL_LAYOUT_VORBIS_DEFAULT, + AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT, + ov->vi.channels, len / sh->samplesize, + sh->samplesize); + } return len;