Commit f134e268 authored by Warren Dukes's avatar Warren Dukes

todo update

git-svn-id: https://svn.musicpd.org/mpd/trunk@2926 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent 09a87803
...@@ -40,12 +40,8 @@ ...@@ -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 @@ ...@@ -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
......
...@@ -132,6 +132,7 @@ int mpc_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
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