Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2013-10-17 | Song: GetURI() returns std::string | Max Kellermann | 1 | -9/+5 | |
2013-10-14 | fs/Path: add method IsAbsolute() | Max Kellermann | 1 | -1/+1 | |
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -6/+7 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-10-02 | filesystem/Path: use std::string | Max Kellermann | 1 | -1/+1 | |
2013-09-27 | DecoderControl: convert "enum decoder_state" to strictly-typed enum | Max Kellermann | 1 | -14/+14 | |
2013-09-27 | DecoderCommand: convert to strictly-typed enum | Max Kellermann | 1 | -12/+12 | |
2013-09-05 | Tag, ...: move to libtag.a | Max Kellermann | 1 | -1/+1 | |
2013-09-05 | InputLegacy: move functions to the input_stream class | Max Kellermann | 1 | -11/+8 | |
2013-09-04 | Tag*: move libtag.a sources to src/tag/ | Max Kellermann | 1 | -1/+1 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -16/+14 | |
Replaces GLib's GError. | |||||
2013-08-07 | Makefile.am: move sources to libsystem.a | Max Kellermann | 1 | -1/+1 | |
2013-08-07 | FatalError: new library to replace mpd_error.h | Max Kellermann | 1 | -2/+2 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -2/+2 | |
2013-07-29 | ape: convert to C++ | Max Kellermann | 1 | -4/+1 | |
2013-07-28 | song: convert header to C++ | Max Kellermann | 1 | -7/+7 | |
2013-07-28 | decoder_api: convert to C++ | Max Kellermann | 1 | -3/+3 | |
2013-04-17 | use g_thread_new() if GLib is recent enough | Max Kellermann | 1 | -2/+5 | |
Fixes deprecation warnings. | |||||
2013-04-08 | uri: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-30 | decoder_list: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-28 | InputStream: use std::string | Max Kellermann | 1 | -2/+3 | |
2013-01-27 | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 1 | -2/+2 | |
2013-01-26 | input_stream: forward-declare the struct | Max Kellermann | 1 | -1/+1 | |
Hide the definition from C code, to prepare the transition to C++. | |||||
2013-01-22 | Path: move to fs subdirectory | Denis Krjuchkov | 1 | -1/+1 | |
2013-01-21 | DecoderControl: move functions into the class | Max Kellermann | 1 | -28/+28 | |
2013-01-18 | Path: new class "Path" wraps filesystem path strings | Max Kellermann | 1 | -1/+2 | |
2013-01-10 | DecoderThread: signal the client after decoder finishes | Max Kellermann | 1 | -0/+2 | |
Fixes potential dead lock bug. | |||||
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -3/+3 | |
2013-01-04 | DecoderThread: move code to destructor | Max Kellermann | 1 | -13/+0 | |
2013-01-04 | DecoderInternal: move initializers to constructor | Max Kellermann | 1 | -9/+3 | |
2013-01-04 | decoder_*: convert to C++ | Max Kellermann | 1 | -2/+2 | |
2013-01-02 | mapper: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | {decoder,player}_thread: convert to C++ | Max Kellermann | 1 | -19/+11 | |
2012-09-25 | decoder_control: remove MixRamp debug messages | Max Kellermann | 1 | -1/+0 | |
These are confusing, and since MixRamp development has ceased, not useful to anybody. | |||||
2012-08-15 | decoder_thread: create GError for mapper failure | Max Kellermann | 1 | -0/+3 | |
Fixes crash. | |||||
2012-08-08 | decoder_control: add GError attribute | Max Kellermann | 1 | -1/+17 | |
2012-05-29 | decoder_api: log the decoder plugin name | Max Kellermann | 1 | -0/+4 | |
2011-10-13 | decoder_thread: add missing stdio.h include | Max Kellermann | 1 | -0/+1 | |
2011-10-09 | decoder/{pcm,dsdiff}: add missing stdio.h include | Max Kellermann | 1 | -0/+1 | |
2011-10-05 | decoder_control: add attributes start_ms, end_ms | Max Kellermann | 1 | -1/+1 | |
Don't read song.start_ms and song.end_ms, let the player thread manage this logic instead. | |||||
2011-09-22 | decoder_api: emulate SEEK command for initial seek to CUE track | Max Kellermann | 1 | -0/+2 | |
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. | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -24/+20 | |
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. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2011-01-16 | decoder_thread: fix assertion failure at song end | Max Kellermann | 1 | -2/+1 | |
Don't finish the current command twice. This bug was never noticed, but was revealed by a new assertion check. | |||||
2011-01-10 | decoder_control: store GCond object, not a player_control | Max Kellermann | 1 | -2/+1 | |
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. | |||||
2011-01-10 | decoder_thread: move code to decoder_command_finished_locked() | Max Kellermann | 1 | -8/+19 | |
2011-01-10 | player_control: removed the global variable "pc" | Max Kellermann | 1 | -3/+3 | |
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. | |||||
2010-11-18 | decoder_thread: load APE replay gain from music files | Max Kellermann | 1 | -0/+15 | |
2010-09-25 | eliminate g_error() usage | Thomas Jansen | 1 | -1/+2 | |
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. | |||||
2010-05-08 | mixramp: Adjust MixRamp threshold to account for ReplayGain. | Tim Phipps | 1 | -0/+2 | |
2010-03-21 | Add support for MixRamp tags | Tim Phipps | 1 | -0/+11 | |
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading. |