summaryrefslogtreecommitdiffstats
path: root/libhb/encvorbis.c
diff options
context:
space:
mode:
authorritsuka <[email protected]>2008-11-27 16:45:02 +0000
committerritsuka <[email protected]>2008-11-27 16:45:02 +0000
commit176a4094b03502366f5c34cfb1d0667c8dedebbf (patch)
treee8030c27f245bc585b0f4c85114f2d6f740145c1 /libhb/encvorbis.c
parent1944002dcb084dae133c19ca977c733ace018dfe (diff)
Fix 5.1 channels map for vorbis.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1965 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/encvorbis.c')
-rw-r--r--libhb/encvorbis.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/libhb/encvorbis.c b/libhb/encvorbis.c
index 47a6077a0..ce27ea021 100644
--- a/libhb/encvorbis.c
+++ b/libhb/encvorbis.c
@@ -123,12 +123,25 @@ int encvorbisInit( hb_work_object_t * w, hb_job_t * job )
pv->channel_map[0] = 0;
break;
case 6:
- pv->channel_map[0] = 0;
- pv->channel_map[1] = 2;
- pv->channel_map[2] = 1;
- pv->channel_map[3] = 4;
- pv->channel_map[4] = 5;
- pv->channel_map[5] = 3;
+ // Vorbis use the following channels map = L C R Ls Rs Lfe
+ if( audio->config.in.codec == HB_ACODEC_AC3 )
+ {
+ pv->channel_map[0] = 1;
+ pv->channel_map[1] = 2;
+ pv->channel_map[2] = 3;
+ pv->channel_map[3] = 4;
+ pv->channel_map[4] = 5;
+ pv->channel_map[5] = 0;
+ }
+ else
+ {
+ pv->channel_map[0] = 1;
+ pv->channel_map[1] = 0;
+ pv->channel_map[2] = 2;
+ pv->channel_map[3] = 3;
+ pv->channel_map[4] = 4;
+ pv->channel_map[5] = 5;
+ }
break;
default:
hb_log("encvorbis.c: Unable to correctly proccess %d channels, assuming stereo.", pv->out_discrete_channels);