diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-05-10 12:35:18 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-05-10 12:35:18 +0000 |
commit | 2ec1c5ff3c1ff67825fb449c9eab2c3e4ff441f6 (patch) | |
tree | 249f15fc84bd307facedee89452cdeb606580e5f /src/ogg_decode.c | |
parent | cd3180c70180ae49c0c5611850c18ce0cebdd464 (diff) | |
download | mpd-2ec1c5ff3c1ff67825fb449c9eab2c3e4ff441f6.tar.gz mpd-2ec1c5ff3c1ff67825fb449c9eab2c3e4ff441f6.tar.xz mpd-2ec1c5ff3c1ff67825fb449c9eab2c3e4ff441f6.zip |
some more work on organizing code for resampling/audioFormat conversion
git-svn-id: https://svn.musicpd.org/mpd/trunk@968 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to '')
-rw-r--r-- | src/ogg_decode.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/ogg_decode.c b/src/ogg_decode.c index 202fd6d4b..2869be7cb 100644 --- a/src/ogg_decode.c +++ b/src/ogg_decode.c @@ -142,7 +142,7 @@ float ogg_getReplayGainScale(char ** comments) { return 1.0; } -int ogg_decode(OutputBuffer * cb, AudioFormat * af, DecoderControl * dc) +int ogg_decode(OutputBuffer * cb, DecoderControl * dc) { OggVorbis_File vf; ov_callbacks callbacks; @@ -167,12 +167,13 @@ int ogg_decode(OutputBuffer * cb, AudioFormat * af, DecoderControl * dc) { vorbis_info *vi=ov_info(&vf,-1); - af->bits = 16; - af->channels = vi->channels; - af->sampleRate = vi->rate; + dc->audioFormat.bits = 16; + dc->audioFormat.channels = vi->channels; + dc->audioFormat.sampleRate = vi->rate; + getOutputAudioFormat(&(dc->audioFormat),&(cb->audioFormat)); } - cb->totalTime = ov_time_total(&vf,-1); + dc->totalTime = ov_time_total(&vf,-1); dc->state = DECODE_STATE_DECODE; dc->start = 0; @@ -203,7 +204,8 @@ int ogg_decode(OutputBuffer * cb, AudioFormat * af, DecoderControl * dc) if((test = ov_bitrate_instant(&vf))>0) { bitRate = test/1000; } - doReplayGain(chunk,ret,af,replayGainScale); + doReplayGain(chunk,ret,&(dc->audioFormat), + replayGainScale); sendDataToOutputBuffer(cb,dc,chunk,ret, ov_time_tell(&vf),bitRate); if(dc->stop) break; |