- 10 Jan, 2013 1 commit
-
-
Max Kellermann authored
Fixes potential dead lock bug.
-
- 07 Jan, 2013 1 commit
-
-
Max Kellermann authored
-
- 04 Jan, 2013 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 02 Jan, 2013 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 25 Sep, 2012 1 commit
-
-
Max Kellermann authored
These are confusing, and since MixRamp development has ceased, not useful to anybody.
-
- 15 Aug, 2012 1 commit
-
-
Max Kellermann authored
Fixes crash.
-
- 08 Aug, 2012 1 commit
-
-
Max Kellermann authored
-
- 29 May, 2012 1 commit
-
-
Max Kellermann authored
-
- 13 Oct, 2011 1 commit
-
-
Max Kellermann authored
-
- 09 Oct, 2011 1 commit
-
-
Max Kellermann authored
-
- 05 Oct, 2011 1 commit
-
-
Max Kellermann authored
Don't read song.start_ms and song.end_ms, let the player thread manage this logic instead.
-
- 21 Sep, 2011 1 commit
-
-
Max Kellermann authored
When playing a CUE track, the player thread waited for the decoder to become ready, and then sent a SEEK command to the beginning of the CUE track. If that is near the start of the song file, and the track is short enough, the decoder could have finished decoding already at that point, and seeking fails. This commit makes this initial seek more robust: instead of letting the player thread deal with the difficult timings, let the decoder API emulate a SEEK command, and return it to the decoder plugin, as soon as the plugin finishes its initialization.
-
- 16 Sep, 2011 1 commit
-
-
Max Kellermann authored
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
-
- 29 Jan, 2011 1 commit
-
-
Max Kellermann authored
-
- 16 Jan, 2011 1 commit
-
-
Max Kellermann authored
Don't finish the current command twice. This bug was never noticed, but was revealed by a new assertion check.
-
- 10 Jan, 2011 3 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
-
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.
-
- 18 Nov, 2010 1 commit
-
-
Max Kellermann authored
-
- 25 Sep, 2010 1 commit
-
-
Thomas Jansen authored
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
-
- 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 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.
-
- 17 Jan, 2010 2 commits
-
-
Max Kellermann authored
When all plugins have failed, MPD used to fall back to the "mad" decoder plugin, to handle those radio streams without a Content-Type response header. This however leads to unexpected results (garbage being played) when the stream isn't really mp3. Since we care little about "bad" streams, we shouldn't have hacks which have bad side effects. Let's get rid of this hack now! Only try to "mad" plugin if there was no match at all (Content-Type, path suffix) and no other plugin has been tried.
-
Max Kellermann authored
Manage a linked list of plugins which were already tried.
-
- 16 Jan, 2010 1 commit
-
-
Max Kellermann authored
The patch "input/file: don't fall back to parent directory" introduced a regression: when trying to play a CUE track, decoder_run_song() tries to open the file as a stream first, but this fails, because the path is virtual. This patch fixes decoder_run_song() (instead of reverting the previous patch) to accept input_stream_open() failures if the song is a local file. It passes the responsibility to handle non-existing files to the decoder's file_decode() method.
-
- 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 2 commits
-
-
Max Kellermann authored
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
-
Avuton Olrich authored
-
- 26 Dec, 2009 1 commit
-
-
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.
-
- 15 Dec, 2009 1 commit
-
-
Max Kellermann authored
-
- 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.
-
- 07 Nov, 2009 2 commits
-
-
Max Kellermann authored
An input_stream_close() call was missing after today's code reorganization.
-
Max Kellermann authored
Before calling the plugin's decode method, we should ensure that we didn't receive a STOP command during initialization.
-