From 64a4c635de97bf4b2c83e8a1b205b063501107f0 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 24 Aug 2006 21:59:19 +0000 Subject: audiofile_plugin: use afSetVirtualSampleFormat, too This finally fixes a bug from over two years ago playing a wave file (oprah.wav) with the following characteristics (from sfinfo): File Format Microsoft RIFF WAVE Format (wave) Data Format 8-bit integer (unsigned, little endian) Audio Data 986827 bytes begins at offset 58 (3a hex) 1 channel, 986827 frames Sampling Rate 22050.00 Hz Duration 44.754 seconds Of course, this has been regression tested with all the files that the previous commit got working. Thanks to Michael Pruett (audiofile author) for the hint and shame on me for forgetting about it for over two years :x git-svn-id: https://svn.musicpd.org/mpd/trunk@4682 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/inputPlugins/audiofile_plugin.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/inputPlugins/audiofile_plugin.c') diff --git a/src/inputPlugins/audiofile_plugin.c b/src/inputPlugins/audiofile_plugin.c index 31c835b8f..91dc9ea07 100644 --- a/src/inputPlugins/audiofile_plugin.c +++ b/src/inputPlugins/audiofile_plugin.c @@ -70,6 +70,8 @@ static int audiofile_decode(OutputBuffer * cb, DecoderControl * dc, char *path) return -1; } + afSetVirtualSampleFormat(af_fp, AF_DEFAULT_TRACK, + AF_SAMPFMT_TWOSCOMP, 16); afGetVirtualSampleFormat(af_fp, AF_DEFAULT_TRACK, &fs, &bits); dc->audioFormat.bits = bits; dc->audioFormat.sampleRate = afGetRate(af_fp, AF_DEFAULT_TRACK); -- cgit v1.2.3