- 14 Nov, 2008 2 commits
-
-
László Áshin authored
Wavpack plugin doesn't stop decoding if a block couldn't be fully decoded, rather it tries to go on.
-
László Áshin authored
-
- 13 Nov, 2008 10 commits
-
-
Max Kellermann authored
mp3 seeking was broken, because the command==SEEK check was never reached. Swap the command check order (==SEEK before !=NONE) to fix that.
-
Max Kellermann authored
When a command is sent while the decoder waits for a free chunk in the music pipe, it was not returned by decoder_data().
-
Avuton Olrich authored
-
Max Kellermann authored
Prevent superfluous wakeups and a deadlock condition.
-
Max Kellermann authored
Seeking was somewhat broken in some decoder plugins because they sent empty chunks, and never got a command. Check the decoder command before doing anything else in decoder_data().
-
Max Kellermann authored
When a CANCEL command is received, the player should drop all chunks of the next song. Added new funciton music_pipe_chop() which is used for that.
-
Max Kellermann authored
Provide a debug function which asserts on the sample format of all chunks. Call this function in each iteration of the player main loop.
-
Max Kellermann authored
When the decoder receives a SEEK during initialization, it should ignore that for now. The old code made most decoders abort.
-
Max Kellermann authored
Added an additional assertion which checks partial frames in the existing tail chunk.
-
Max Kellermann authored
When assigning the next_song_chunk variable, it must have been empty. If not, there may be 3 songs overlapping in the music pipe.
-
- 12 Nov, 2008 21 commits
-
-
Max Kellermann authored
This patch extends commit 35a16b99, and amends several 2 missing checks. It simplifies 2 more checks by merging "if" conditions.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Unfortunately, ov_fopen() is not supported by libvorbis versions older than 1.2.
-
Max Kellermann authored
When the buffer was full, but everything was already consumed, fillAacBuffer() would not attempt to flush and refill it.
-
Max Kellermann authored
Allocate the input buffer within the AacBuffer struct.
-
Max Kellermann authored
The aac plugin does not support seeking. Reject SEEK requests by calling decoder_seek_error(). Quit the plugin's main loop only when STOP is received.
-
Max Kellermann authored
Removed a superfluous decoder_get_command() call.
-
Max Kellermann authored
The audio_format variable is only used and initialized for decoder_initialized(). Move it into that block to save some bytes on the stack.
-
Max Kellermann authored
aac_stream_decode() was basically copy+pasted from aac_decode(). Since stream_decode() can also decode files, eliminate aac_decode().
-
Max Kellermann authored
Check whether enough data has been read yet.
-
Max Kellermann authored
-
Max Kellermann authored
If the stream is not seekable, don't try to decode all frames to find out the total song time.
-
Max Kellermann authored
Use input_stream_eof() instead.
-
Max Kellermann authored
According to the documentation, mpc_decoder_decode() returns an mpc_uint32_t. Since the special return value (mpc_uint32_t)-1 translates to a very large long integer, this may cause segmentation faults if not interpreted properly.
-
Max Kellermann authored
Don't hard-code the factor "2".
-
Max Kellermann authored
Removed 3 superfluous decoder_get_command() invocations.
-
Max Kellermann authored
mpc_to_mpd_buffer() converts a whole chunk at a time. This eliminates 3 local variables in mpc_decode().
-
Max Kellermann authored
Don't split the buffer conversion loop. When libmpcdec returns a chunk, convert and send the whole chunk at a time. This moves several checks out of the loop, and greatly improves performance.
-
Max Kellermann authored
Don't use deprecated MPD libraries.
-
Max Kellermann authored
The buffer is always casted to int32_t* anyway; declare it as int32_t array, and remove the cast.
-
- 11 Nov, 2008 7 commits
-
-
Max Kellermann authored
Since each "eof=true" is followed by "break", the variable is superfluous.
-
Max Kellermann authored
Due to an unnoticed merge error, there was a superfluous "}". Remove it.
-
Max Kellermann authored
Move the reponsibility for freeing the file handle to libvorbis.
-
Max Kellermann authored
-
Max Kellermann authored
decoder_file_decode() should check for plugin->file_decode, not plugin->stream_decode().
-
Max Kellermann authored
Eliminate two decoder_get_command() invocations from the main loop.
-
Max Kellermann authored
Don't let the buffer grow until it is full, flush it whenever there is data available.
-