diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2005-02-02 04:05:19 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2005-02-02 04:05:19 +0000 |
commit | f134e2686a18eb7c9ef176e2322e7cede9843ea8 (patch) | |
tree | 597365d6493d8b4ad37295b92a85e3d6d811d4ba | |
parent | 09a87803a150a4259139e8084c9d817cdb3b3c5c (diff) | |
download | mpd-f134e2686a18eb7c9ef176e2322e7cede9843ea8.tar.gz mpd-f134e2686a18eb7c9ef176e2322e7cede9843ea8.tar.xz mpd-f134e2686a18eb7c9ef176e2322e7cede9843ea8.zip |
todo update
git-svn-id: https://svn.musicpd.org/mpd/trunk@2926 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to '')
-rw-r--r-- | TODO | 8 | ||||
-rw-r--r-- | src/inputPlugins/mpc_plugin.c | 16 |
2 files changed, 17 insertions, 7 deletions
@@ -40,12 +40,8 @@ *) Handle mp1 and mp2 files (including mp2's that are disguised as mp3's with a mp3 suffix) -*) choose id3v2 over id3v1 tags when both are present - *) add error codes for status->error -*) add support for mousepack/mpc files - *) add alsa audioOutput plugin *) add a method for closing the audio device immediatly w/o waiting for an @@ -53,6 +49,10 @@ *) add support for playing aac streams (gee, thanks icecast) +*) implement apev2 and id3v1 tag reader from xmms-musepack plugin + +*) only use libid3tag for id3v2 tags, use internal implementation for id3v1 tags + 0.13 ---- *) support for dynamically loading plugins 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; |