- 14 Sep, 2011 1 commit
-
-
Max Kellermann authored
This is not necessary since all relevant input plugins have been moved to the I/O thread, and there is no remaining useful buffer() implementation. This also fixes a busy loop when playing radio.
-
- 29 Jan, 2011 1 commit
-
-
Max Kellermann authored
-
- 10 Jan, 2011 2 commits
-
-
Max Kellermann authored
Remove the decoder dependency on player_control. All player_control was needed for is to signal the player thread, and we can do that with a simple GCond as well.
-
Max Kellermann authored
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
-
- 30 May, 2010 1 commit
-
-
Daniel Seuthe authored
-
- 18 May, 2010 1 commit
-
-
Daniel Seuthe authored
Pay attention to the ReplayGain mode "auto" and the replay_gain_missing_preamp parameter inside of decoder_replay_gain().
-
- 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.
-
- 17 Mar, 2010 1 commit
-
-
Max Kellermann authored
When decoder->timestamp is calculated, the PCM data is already converted to out_audio_format; using in_audio_format may cause funny speedups/slowdowns.
-
- 17 Feb, 2010 1 commit
-
-
Max Kellermann authored
Apply the replay gain in the output thread. This means a new setting will be active instantly, without going through the whole music pipe. And we might have different replay gain settings for each audio output device.
-
- 18 Jan, 2010 1 commit
-
-
Max Kellermann authored
Use input_stream.uri.
-
- 04 Jan, 2010 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
The replay_gain_state struct holds the precalculated scale factor, which is removed from struct replay_gain_info.
-
Max Kellermann authored
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
-
- 01 Jan, 2010 1 commit
-
-
Avuton Olrich authored
-
- 27 Dec, 2009 1 commit
-
-
Max Kellermann authored
Seek the decoder to the start of the range before beginning with playback. Stop the decoder when the end of the range has been reached. Add the start position to the seek position. Expose the duration of the range, not the full song file.
-
- 26 Dec, 2009 2 commits
-
-
Max Kellermann authored
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
-
Max Kellermann authored
Don't clear the music pipe when seeking has failed - check the "seeking" flag instead of "command==SEEK". Clear the "seeking" flag in decoder_seek_error().
-
- 25 Dec, 2009 1 commit
-
-
Max Kellermann authored
Use the plugin instead of the glue code in normalize.c. This is used wrapped inside a "autoconv" filter, to enable normalization for all input file formats.
-
- 15 Dec, 2009 1 commit
-
-
Max Kellermann authored
-
- 14 Dec, 2009 1 commit
-
-
Max Kellermann authored
-
- 07 Dec, 2009 1 commit
-
-
Thomas Jansen authored
If both tags (stream and decoder) are present, we prefer the stream tag. Fixes #2698, where ICY tag contained useful information, but was overwritten with bogus decoder tag data.
-
- 14 Nov, 2009 1 commit
-
-
Max Kellermann authored
Unified function for converting an audio_format object to a string, for log messages and for the "status" command.
-
- 12 Nov, 2009 1 commit
-
-
Max Kellermann authored
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
-
- 03 Nov, 2009 1 commit
-
-
Max Kellermann authored
These two variables are redundant, we need only one of them.
-
- 01 Nov, 2009 1 commit
-
-
Max Kellermann authored
It's legal to pass decoder=NULL to decoder_read(). Add a check.
-
- 31 Oct, 2009 2 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
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.
-
- 23 Jul, 2009 1 commit
-
-
Max Kellermann authored
Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years.
-
- 25 Jun, 2009 1 commit
-
-
Daniel Seuthe authored
-
- 26 Apr, 2009 1 commit
-
-
Max Kellermann authored
Database update was broken due to the dc.pipe!=NULL assertion. This assertion is only valid while MPD decodes a song, not during database update.
-
- 25 Apr, 2009 1 commit
-
-
Max Kellermann authored
dc.pipe must be non-NULL while the decoder thread is running. Ensure that with a load of assertions.
-
- 13 Apr, 2009 1 commit
-
-
Max Kellermann authored
When a new song starts playing, send its tag (song->tag) to the music pipe. This allows output plugins to render tags for all songs, not only those with embedded tags understood by the decoder plugin.
-
- 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 2 commits
-
-
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.
-
Max Kellermann authored
Added music_pipe_allocate(), music_pipe_push() and music_pipe_cancel(). Those functions allow the caller (decoder thread in this case) to do its own chunk management. The functions music_pipe_flush() and music_pipe_tag() can now be removed.
-
- 01 Mar, 2009 1 commit
-
-
Max Kellermann authored
To aid debugging, print the audio format of the decoder plugin in a debug message, and print information about PCM conversion.
-
- 19 Feb, 2009 1 commit
-
-
Max Kellermann authored
The parameter name "wait" overlaps with the POSIX wait() function. Rename it.
-