summaryrefslogtreecommitdiff
path: root/plugins/vorbis
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-11-27 22:24:56 +0100
committerGravatar waker <wakeroid@gmail.com>2010-11-27 22:24:56 +0100
commitb9d65a192a9654f5085ae13c411954f1d7d4f5db (patch)
treedec40969d663654c974af32b43a07b13b85fa901 /plugins/vorbis
parentc368a904a466569e1885f1c7b35ca23a7c365ff6 (diff)
fixed vorbis multichannel remapping
Diffstat (limited to 'plugins/vorbis')
-rw-r--r--plugins/vorbis/vorbis.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/vorbis/vorbis.c b/plugins/vorbis/vorbis.c
index f4cb3f3b..a966add0 100644
--- a/plugins/vorbis/vorbis.c
+++ b/plugins/vorbis/vorbis.c
@@ -320,7 +320,7 @@ cvorbis_read (DB_fileinfo_t *_info, char *bytes, int size) {
endianess = 1;
#endif
- if (_info->fmt.channels <= 2) {
+ if (_info->fmt.channels <= 2 || _info->fmt.channels == 4) {
ret=ov_read (&info->vorbis_file, bytes, size, endianess, 2, 1, &info->cur_bit_stream);
}
else {
@@ -331,7 +331,7 @@ cvorbis_read (DB_fileinfo_t *_info, char *bytes, int size) {
int idx = _info->fmt.channels - 3;
static int remap[4][6] = {
{0,2,1},
- {0,1,2,3},
+ {0,1,2,3}, // should not be used
{0,2,1,3,4},
{0,2,1,4,5,3}
};