- 05 Nov, 2010 1 commit
-
-
Max Kellermann authored
More abstraction for decoder_control.pipe.
-
- 08 May, 2010 1 commit
-
-
Tim Phipps authored
-
- 21 Mar, 2010 1 commit
-
-
Tim Phipps authored
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-
- 03 Nov, 2009 5 commits
-
-
Max Kellermann authored
Don't access decoder_control attributes directly.
-
Max Kellermann authored
Asynchronous decoder startup is gone, and we don't need to check command==DECODE_COMMAND_START anymore.
-
Max Kellermann authored
These two variables are redundant, we need only one of them.
-
Max Kellermann authored
The START command returns without blocking; we don't need the asynchronous decoder start anymore.
-
Max Kellermann authored
They are just informational.
-
- 31 Oct, 2009 3 commits
-
-
Max Kellermann authored
Allocate a decoder_control object where needed, and pass it around. This will allow more than one decoder thread one day.
-
Max Kellermann authored
-
Max Kellermann authored
Use GMutex/GCond instead of the notify library. Manually lock the player_control object before accessing the protected attributes. Use the GCond object to notify the player thread and the main thread.
-
- 13 Aug, 2009 1 commit
-
-
Max Kellermann authored
Replace decoder_control.notify with decoder_control.mutex and decoder_control.cond. Lock the mutex on all accesses to decoder_control.command and decoder_control.state.
-
- 13 Mar, 2009 1 commit
-
-
Avuton Olrich authored
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
-
- 05 Mar, 2009 1 commit
-
-
Max Kellermann authored
Turn the music_pipe into a simple music_chunk queue. The music_chunk allocation code is moved to music_buffer, and is now managed with a linked list instead of a ring buffer. Two separate music_pipe objects are used by the decoder for the "current" and the "next" song, which greatly simplifies the cross-fading code.
-
- 15 Feb, 2009 1 commit
-
-
Max Kellermann authored
Minimize header dependencies, again.
-
- 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.
-
- 28 Dec, 2008 1 commit
-
-
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.
-
- 08 Nov, 2008 1 commit
-
-
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".
-
- 03 Nov, 2008 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
The variable "next_song" is already protected by a memory barrier. "total_time" is not important for synchronization, and we don't need "volatile" here.
-
Max Kellermann authored
Renamed variables and functions.
-
- 02 Nov, 2008 1 commit
-
-
Max Kellermann authored
.. and rename dc.audioFormat to dc.in_audio_format. The music pipe does not need to know the audio format, and its former "audioFormat" property indicated the format of the most recently added chunk, which might be confusing when you are reading the oldest chunks.
-
- 31 Oct, 2008 1 commit
-
-
Max Kellermann authored
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
-
- 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.
-
- 08 Oct, 2008 2 commits
-
-
Max Kellermann authored
Typedefs shouldn't be used, use the bare struct names instead.
-
Max Kellermann authored
Again, a data type which can be forward-declared.
-
- 29 Sep, 2008 1 commit
-
-
Max Kellermann authored
Do full C99 integer type conversion in all modules which were not touched by Eric's merged patch.
-
- 24 Sep, 2008 1 commit
-
-
Max Kellermann authored
Destroy the mutex when it is not used anymore.
-
- 07 Sep, 2008 1 commit
-
-
Max Kellermann authored
Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
-
- 26 Aug, 2008 10 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
It should be obvious in which thread or context a function is being executed at runtime. The code which was left in decode.c is for the decoder thread itself; give the file a better name.
-
Max Kellermann authored
The decoder plugins need this type, so export it in the public API. This allows is to remove "decode.h" from "decoder_api.h", uncluttering the API namespace some more.
-
Max Kellermann authored
Now that "dc" is available here, we don't have to pass it to decoder_is_idle() and decoder_is_starting() anymore.
-
Max Kellermann authored
Unfortunately, we have to pass the DecoderControl pointer to these inline functions, because the global variable "dc" may not be available here. This will be fixed later.
-
Max Kellermann authored
The source "decoder_control.c" provides an API for controlling the decoder. This replaces various direct accesses to the DecoderControl struct.
-
Max Kellermann authored
Move code which runs in the player thread to player_thread.c. Having a lot of player thread code in decode.c isn't easy to understand.
-
Max Kellermann authored
Some decoder commands are implemented in the decoder plugins, thus they need to have an API call to signal that their current command has been finished. Let them use the new decoder_command_finished() instead of the internal dc_command_finished().
-
Max Kellermann authored
We want to expose the AudioFormat structure to plugins; remove some clutter by moving its declaration to a separate header file.
-