# HG changeset patch # User ulion # Date 1204685210 0 # Node ID b6280829f7f896fcee85eeb9396dca0c3f23b4e7 # Parent 83c95bd31aabdcdc26125ea3e8ed3fe0a1028995 Fix ffvorbis decoder's output channel order with channel reordering function. diff -r 83c95bd31aab -r b6280829f7f8 libaf/reorder_ch.c --- a/libaf/reorder_ch.c Tue Mar 04 23:35:24 2008 +0000 +++ b/libaf/reorder_ch.c Wed Mar 05 02:46:50 2008 +0000 @@ -1108,6 +1108,7 @@ AF_CHANNEL_LAYOUT_LAVC_AC3_5CH_DEFAULT, AF_CHANNEL_LAYOUT_LAVC_LIBA52_5CH_DEFAULT, AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT, + AF_CHANNEL_LAYOUT_LAVC_VORBIS_5CH_DEFAULT, }; static int channel_layout_mapping_6ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = { @@ -1117,6 +1118,7 @@ AF_CHANNEL_LAYOUT_LAVC_AC3_6CH_DEFAULT, AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT, AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT, + AF_CHANNEL_LAYOUT_LAVC_VORBIS_6CH_DEFAULT, }; void reorder_channel_copy_nch(void *src, diff -r 83c95bd31aab -r b6280829f7f8 libaf/reorder_ch.h --- a/libaf/reorder_ch.h Tue Mar 04 23:35:24 2008 +0000 +++ b/libaf/reorder_ch.h Wed Mar 05 02:46:50 2008 +0000 @@ -71,6 +71,8 @@ #define AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_E #define AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_D #define AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_D +#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C +#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C #define AF_CHANNEL_MASK 0xFF #define AF_GET_CH_NUM(A) ((A)&0x7F) @@ -102,7 +104,8 @@ #define AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT 3 #define AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT 4 #define AF_CHANNEL_LAYOUT_LAVC_DCA_DEFAULT 5 -#define AF_CHANNEL_LAYOUT_SOURCE_NUM 6 +#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT 6 +#define AF_CHANNEL_LAYOUT_SOURCE_NUM 7 #define AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT AF_CHANNEL_LAYOUT_ALSA_DEFAULT /// Optimized channel reorder between different audio sources and targets. diff -r 83c95bd31aab -r b6280829f7f8 libmpcodecs/ad_ffmpeg.c --- a/libmpcodecs/ad_ffmpeg.c Tue Mar 04 23:35:24 2008 +0000 +++ b/libmpcodecs/ad_ffmpeg.c Wed Mar 05 02:46:50 2008 +0000 @@ -175,6 +175,8 @@ src_ch_layout = AF_CHANNEL_LAYOUT_AAC_DEFAULT; else if (!strcasecmp(codec, "liba52")) src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT; + else if (!strcasecmp(codec, "vorbis")) + src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT; else src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT; reorder_channel_nch(buf, src_ch_layout,