summaryrefslogtreecommitdiff
path: root/plugins/wavpack
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2012-10-18 22:27:37 +0200
committerGravatar waker <wakeroid@gmail.com>2012-10-18 22:27:37 +0200
commitcf99fd6ea3cd728fa643e7d34e6edbf026f0feb5 (patch)
tree774d47f3ce45044f23cde3f7afc1f793fef177c8 /plugins/wavpack
parentf85e5f94695403201ad09bd095c5315d6121df3d (diff)
wavpack: don't use channelmask from file, because of broken pcm format conversion
Diffstat (limited to 'plugins/wavpack')
-rw-r--r--plugins/wavpack/wavpack.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/wavpack/wavpack.c b/plugins/wavpack/wavpack.c
index 7e81f5e9..c28478c9 100644
--- a/plugins/wavpack/wavpack.c
+++ b/plugins/wavpack/wavpack.c
@@ -162,7 +162,15 @@ wv_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
_info->fmt.channels = WavpackGetNumChannels (info->ctx);
_info->fmt.samplerate = WavpackGetSampleRate (info->ctx);
_info->fmt.is_float = (WavpackGetMode (info->ctx) & MODE_FLOAT) ? 1 : 0;
- _info->fmt.channelmask = WavpackGetChannelMask (info->ctx);
+
+ // FIXME: streamer and maybe output plugins need to be fixed to support
+ // arbitrary channelmask
+
+ // _info->fmt.channelmask = WavpackGetChannelMask (info->ctx);
+
+ for (int i = 0; i < _info->fmt.channels; i++) {
+ _info->fmt.channelmask |= 1 << i;
+ }
_info->readpos = 0;
if (it->endsample > 0) {
info->startsample = it->startsample;