From f134e2686a18eb7c9ef176e2322e7cede9843ea8 Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Wed, 2 Feb 2005 04:05:19 +0000 Subject: todo update git-svn-id: https://svn.musicpd.org/mpd/trunk@2926 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/inputPlugins/mpc_plugin.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/inputPlugins/mpc_plugin.c b/src/inputPlugins/mpc_plugin.c index 5bccb3f3d..b0cf24ab3 100644 --- a/src/inputPlugins/mpc_plugin.c +++ b/src/inputPlugins/mpc_plugin.c @@ -132,6 +132,7 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) mpc_uint32_t vbrUpdateBits; float time; int i; + ReplayGainInfo * replayGainInfo = NULL; data.inStream = inStream; data.dc = dc; @@ -174,11 +175,17 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) dc->totalTime = mpc_streaminfo_get_length(&info); dc->audioFormat.bits = 16; - dc->audioFormat.channels = 2; + dc->audioFormat.channels = info.channels; dc->audioFormat.sampleRate = info.sample_freq; getOutputAudioFormat(&(dc->audioFormat), &(cb->audioFormat)); + replayGainInfo = newReplayGainInfo(); + replayGainInfo->albumGain = info.gain_album; + replayGainInfo->albumPeak = info.peak_album; + replayGainInfo->trackGain = info.gain_title; + replayGainInfo->trackPeak = info.peak_title; + dc->state = DECODE_STATE_DECODE; while(!eof) { @@ -224,7 +231,8 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) chunk, chunkpos, time, bitRate, - NULL); + replayGainInfo); + chunkpos = 0; s16 = (mpd_sint16 *)chunk; if(dc->stop) { @@ -243,13 +251,15 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) sendDataToOutputBuffer(cb, NULL, dc, inStream->seekable, chunk, chunkpos, time, bitRate, - NULL); + replayGainInfo); } closeInputStream(inStream); flushOutputBuffer(cb); + freeReplayGainInfo(replayGainInfo); + if(dc->stop) { dc->state = DECODE_STATE_STOP; dc->stop = 0; -- cgit v1.2.3