Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | DetachedSong: fork of struct Song | Max Kellermann | 2014-01-09 | 1 | -9/+6 |
| | | | | | | From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead. | ||||
* | include cleanup using iwyu | Max Kellermann | 2013-11-28 | 1 | -2/+0 |
| | |||||
* | DecoderControl: reduce the number of PlayerThread wakeups | Max Kellermann | 2013-11-06 | 1 | -0/+13 |
| | | | | | Wake up the PlayerThread only if it is really waiting for the decoder. This greatly reduces the number of system calls in the DecoderThread. | ||||
* | DecoderControl: convert mutex and client_cond to a reference | Max Kellermann | 2013-10-28 | 1 | -2/+3 |
| | | | | | | | | Share the Mutex between the DecoderThread and the PlayerThread. This simplifies synchronization between the two threads and fixes a freeze problem: while the PlayerThread waits for the DeocderThread, it cannot answer requests from the main thread, and the main thread will block until the DecoderThread finishes. | ||||
* | decoder_control: rename to DecoderControl | Max Kellermann | 2013-10-28 | 1 | -10/+10 |
| | |||||
* | DecoderControl: move code/attributes to new class MixRampInfo | Max Kellermann | 2013-10-26 | 1 | -26/+3 |
| | |||||
* | DecoderThread: move code to DecoderControl::CycleMixRamp() | Max Kellermann | 2013-10-26 | 1 | -2/+5 |
| | |||||
* | Song: pass reference to song_equals() | Max Kellermann | 2013-10-21 | 1 | -4/+2 |
| | |||||
* | *: use nullptr instead of NULL | Max Kellermann | 2013-10-19 | 1 | -3/+3 |
| | |||||
* | Thread/Thread: replacement library for GThread | Max Kellermann | 2013-10-17 | 1 | -5/+3 |
| | |||||
* | Log: new logging library API | Max Kellermann | 2013-10-02 | 1 | -3/+0 |
| | | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | ||||
* | DecoderControl: lock the mutex in Seek() | Max Kellermann | 2013-09-30 | 1 | -1/+1 |
| | | | | | | Use LockSynchronousCommand() instead of SynchronousCommandLocked(). Fixes regression from commit ef663810 (dead lock due to cond_wait with unlocked mutex). | ||||
* | DecoderControl: use GLib forward declarations | Max Kellermann | 2013-09-27 | 1 | -0/+2 |
| | |||||
* | DecoderControl: convert "enum decoder_state" to strictly-typed enum | Max Kellermann | 2013-09-27 | 1 | -9/+9 |
| | |||||
* | DecoderCommand: convert to strictly-typed enum | Max Kellermann | 2013-09-27 | 1 | -7/+7 |
| | |||||
* | DecoderControl: convert functions to methods | Max Kellermann | 2013-09-27 | 1 | -40/+5 |
| | |||||
* | MusicBuffer: expose the C++ API | Max Kellermann | 2013-09-26 | 1 | -3/+2 |
| | |||||
* | MusicPipe: expose the C++ API | Max Kellermann | 2013-09-26 | 1 | -4/+3 |
| | |||||
* | gcc.h: add macro gcc_unreachable() | Max Kellermann | 2013-08-03 | 1 | -1/+1 |
| | |||||
* | song: convert header to C++ | Max Kellermann | 2013-07-28 | 1 | -5/+5 |
| | |||||
* | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 2013-01-27 | 1 | -6/+1 |
| | |||||
* | DecoderControl: fix typo in assertion check | Max Kellermann | 2013-01-23 | 1 | -3/+3 |
| | |||||
* | DecoderControl: move functions into the class | Max Kellermann | 2013-01-21 | 1 | -101/+75 |
| | |||||
* | DecoderControl: take ownership of client_cond | Max Kellermann | 2013-01-10 | 1 | -2/+3 |
| | | | | | Don't let the "client" pass its own GCond. This was not used consistently. | ||||
* | buffer, pipe: convert to C++ | Max Kellermann | 2013-01-04 | 1 | -4/+1 |
| | |||||
* | decoder_*: convert to C++ | Max Kellermann | 2013-01-04 | 1 | -0/+226 |