todo update

git-svn-id: https://svn.musicpd.org/mpd/trunk@2926 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2005-02-02 04:05:19 +00:00
parent 09a87803a1
commit f134e2686a
2 changed files with 17 additions and 7 deletions

8
TODO
View File

@ -40,12 +40,8 @@
*) Handle mp1 and mp2 files (including mp2's that are disguised as mp3's with *) Handle mp1 and mp2 files (including mp2's that are disguised as mp3's with
a mp3 suffix) a mp3 suffix)
*) choose id3v2 over id3v1 tags when both are present
*) add error codes for status->error *) add error codes for status->error
*) add support for mousepack/mpc files
*) add alsa audioOutput plugin *) add alsa audioOutput plugin
*) add a method for closing the audio device immediatly w/o waiting for an *) 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) *) 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 0.13
---- ----
*) support for dynamically loading plugins *) support for dynamically loading plugins

View File

@ -132,6 +132,7 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
mpc_uint32_t vbrUpdateBits; mpc_uint32_t vbrUpdateBits;
float time; float time;
int i; int i;
ReplayGainInfo * replayGainInfo = NULL;
data.inStream = inStream; data.inStream = inStream;
data.dc = dc; data.dc = dc;
@ -174,11 +175,17 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
dc->totalTime = mpc_streaminfo_get_length(&info); dc->totalTime = mpc_streaminfo_get_length(&info);
dc->audioFormat.bits = 16; dc->audioFormat.bits = 16;
dc->audioFormat.channels = 2; dc->audioFormat.channels = info.channels;
dc->audioFormat.sampleRate = info.sample_freq; dc->audioFormat.sampleRate = info.sample_freq;
getOutputAudioFormat(&(dc->audioFormat), &(cb->audioFormat)); 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; dc->state = DECODE_STATE_DECODE;
while(!eof) { while(!eof) {
@ -224,7 +231,8 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
chunk, chunkpos, chunk, chunkpos,
time, time,
bitRate, bitRate,
NULL); replayGainInfo);
chunkpos = 0; chunkpos = 0;
s16 = (mpd_sint16 *)chunk; s16 = (mpd_sint16 *)chunk;
if(dc->stop) { if(dc->stop) {
@ -243,13 +251,15 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
sendDataToOutputBuffer(cb, NULL, dc, inStream->seekable, sendDataToOutputBuffer(cb, NULL, dc, inStream->seekable,
chunk, chunkpos, time, bitRate, chunk, chunkpos, time, bitRate,
NULL); replayGainInfo);
} }
closeInputStream(inStream); closeInputStream(inStream);
flushOutputBuffer(cb); flushOutputBuffer(cb);
freeReplayGainInfo(replayGainInfo);
if(dc->stop) { if(dc->stop) {
dc->state = DECODE_STATE_STOP; dc->state = DECODE_STATE_STOP;
dc->stop = 0; dc->stop = 0;