Commit b8fe818a authored by Eric Wong's avatar Eric Wong

audiofile_plugin: fix for playing mono .au files with 8000Hz sample rate

Use the 'Virtual' variants of afGetSampleFormat, afGetChannels, afGetVirtualFrameSize in the audiofile library, since it already does the necessary abstraction for us. Of course, I've regression tested these changes against my standard 44100Hz/2ch/16bit wave files and they continue to play fine. Files tested: english.au (Linus Torvalds pronouncing 'Linux' in English) B01.Red_Bright_Heart.au (Chinese opera, sounds correct to me even though I don't actually understand the words) git-svn-id: https://svn.musicpd.org/mpd/trunk@4681 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent c81f4e2c
......@@ -70,10 +70,10 @@ static int audiofile_decode(OutputBuffer * cb, DecoderControl * dc, char *path)
return -1;
}
afGetSampleFormat(af_fp, AF_DEFAULT_TRACK, &fs, &bits);
afGetVirtualSampleFormat(af_fp, AF_DEFAULT_TRACK, &fs, &bits);
dc->audioFormat.bits = bits;
dc->audioFormat.sampleRate = afGetRate(af_fp, AF_DEFAULT_TRACK);
dc->audioFormat.channels = afGetChannels(af_fp, AF_DEFAULT_TRACK);
dc->audioFormat.channels = afGetVirtualChannels(af_fp, AF_DEFAULT_TRACK);
getOutputAudioFormat(&(dc->audioFormat), &(cb->audioFormat));
frame_count = afGetFrameCount(af_fp, AF_DEFAULT_TRACK);
......@@ -90,7 +90,7 @@ static int audiofile_decode(OutputBuffer * cb, DecoderControl * dc, char *path)
return -1;
}
fs = (int)afGetFrameSize(af_fp, AF_DEFAULT_TRACK, 1);
fs = (int)afGetVirtualFrameSize(af_fp, AF_DEFAULT_TRACK, 1);
dc->state = DECODE_STATE_DECODE;
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment