Index: libmpcodecs/ad_libvorbis.c =================================================================== --- libmpcodecs/ad_libvorbis.c (revision 26994) +++ libmpcodecs/ad_libvorbis.c (working copy) @@ -7,6 +7,7 @@ #include "config.h" #include "ad_internal.h" +#include "libaf/reorder_ch.h" static ad_info_t info = { @@ -302,6 +303,13 @@ } } } + if (bout > 0 && ov->vi.channels >= 5) { + reorder_channel_nch(buf + len, AF_CHANNEL_LAYOUT_VORBIS_DEFAULT, + AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT, + ov->vi.channels, + ov->vi.channels * bout, + sh->samplesize); + } if(clipflag) mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"Clipping in frame %ld\n",(long)(ov->vd.sequence));