- 29 Jan, 2009 1 commit
-
-
Max Kellermann authored
The open_stream() method opens the input_stream. This allows the archive plugin to do its own initialization, and it also allows it to use input_stream.data. We can remove input_stream.archive now, which was unnatural to have in the first place.
-
- 25 Jan, 2009 1 commit
-
-
Max Kellermann authored
decoder_control.thread contains the handle of the decoder thread, or NULL if the decoder thread isn't running.
-
- 07 Jan, 2009 1 commit
-
-
Max Kellermann authored
Free memory allocated by libsamplerate when the output or the decoder is closed.
-
- 04 Jan, 2009 4 commits
-
-
Max Kellermann authored
GLib mandates that you initialize all GError objects with NULL prior to passing it.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Don't include headers which are not used. Fix some includes in decoder_thread.c.
-
- 03 Jan, 2009 1 commit
-
-
Max Kellermann authored
The tag() method reads a tag from the stream. This replaces the meta_name and meta_title attributes.
-
- 02 Jan, 2009 1 commit
-
-
Max Kellermann authored
Don't use fixed stack buffers.
-
- 28 Dec, 2008 3 commits
-
-
Thomas Jansen authored
-
Thomas Jansen authored
-
Max Kellermann authored
When MPD exits, it should manually free all resources in use, to allow easy memory leak debugging. Make the decoder thread terminate during that.
-
- 25 Nov, 2008 1 commit
-
-
Max Kellermann authored
-
- 24 Nov, 2008 1 commit
-
-
Thomas Jansen authored
-
- 20 Nov, 2008 1 commit
-
-
Max Kellermann authored
While waiting for the input stream to become ready, ignore all commands except STOP. This fixes seeking errors with (remote) songs which the decoder has already finished.
-
- 11 Nov, 2008 2 commits
-
-
Max Kellermann authored
decoder_file_decode() should check for plugin->file_decode, not plugin->stream_decode().
-
Max Kellermann authored
The stream_decode() and file_decode() methods returned a boolean, indicating whether they were able to decode the song. This is redundant, since we already know that: if decoder_initialized() has been called (and dc.state==DECODE), the plugin succeeded. Change both methods to return void.
-
- 10 Nov, 2008 3 commits
-
-
Max Kellermann authored
Instead of having a seprate try_decode() method, let the stream_decode() and file_decode() methods decide whether they are able to decode the song.
-
Max Kellermann authored
When a plugin is unable to decode a song, try the other plugins.
-
Max Kellermann authored
Added lots of assertions to the wrapper functions.
-
- 08 Nov, 2008 2 commits
-
-
Max Kellermann authored
The player did not care about the exact error value, it only checked whether an error has occured. This could fit well into decoder_control.state - introduce a new state "DECODE_STATE_ERROR".
-
Max Kellermann authored
decoder.plugin was a write-only attribute.
-
- 04 Nov, 2008 1 commit
-
-
Max Kellermann authored
Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
-
- 03 Nov, 2008 3 commits
-
-
Max Kellermann authored
dc.error wasn't updated when the input stream failed to initialize.
-
Max Kellermann authored
Renamed variables and functions.
-
Max Kellermann authored
If an input stream provides tags (e.g. from an icecast server), send them in the decoder_data() and decoder_tag() methods. Removed the according code from the mp3 and oggvorbis plugins - decoders shouldn't have to care about stream tags. This patch also adds the missing decoder_tag() invocation to the mp3 plugin.
-
- 02 Nov, 2008 5 commits
-
-
Max Kellermann authored
The try_decode() method may have read some data from the stream, which is now lost. To make this data available to other methods, get it back by rewinding the input stream after each try_decode() invocation. The ogg and wavpack plugins did this manually and inconsistently; this code can now be removed.
-
Max Kellermann authored
-
Max Kellermann authored
Don't pass the "seekable" flag with every decoder_data() invocation. Since that flag won't change within the file, it is enough to pass it to decoder_initialized() once per file.
-
Max Kellermann authored
Rename all functions to the new prefix.
-
Max Kellermann authored
No CamelCase in the file name. The output_buffer struct is going to be renamed to music_pipe. There are so many buffer levels in MPD, and calling this one "output buffer" is wrong, because it's not the last buffer before the music reaches the output devices.
-
- 01 Nov, 2008 1 commit
-
-
Max Kellermann authored
The decoder_plugin structs must never change. Don't work with non-const pointers.
-
- 31 Oct, 2008 6 commits
-
-
Max Kellermann authored
Nearly all mapper functions can fail and will then return NULL. Add checks to all callers.
-
Max Kellermann authored
http://xkcd.com/292/
-
Max Kellermann authored
If nobody sent a command, the player isn't waiting for the decoder. Don't wake it up.
-
Max Kellermann authored
The player should always be woken up when the decoder quits.
-
Max Kellermann authored
Eliminate one goto in decodeStart() by moving some cleanup to decoder_task().
-
Max Kellermann authored
switch looks much nicer than if/elseif/... and gcc generates nice warnings when a new command is added to the enum.
-
- 30 Oct, 2008 1 commit
-
-
Max Kellermann authored
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
-
- 29 Oct, 2008 1 commit
-
-
Max Kellermann authored
A decoder_flush() invocation was missing in the FLAC plugin, resulting in casual assertion failures due to a wrong assumption about the last chunk's audio format. It's much easier to remove that decoder_flush() function and make the decoder thread call ob_flush().
-