aboutsummaryrefslogtreecommitdiffstats
path: root/src/DecoderControl.cxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* DetachedSong: fork of struct SongMax Kellermann2014-01-091-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 iwyuMax Kellermann2013-11-281-2/+0
|
* DecoderControl: reduce the number of PlayerThread wakeupsMax Kellermann2013-11-061-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 referenceMax Kellermann2013-10-281-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 DecoderControlMax Kellermann2013-10-281-10/+10
|
* DecoderControl: move code/attributes to new class MixRampInfoMax Kellermann2013-10-261-26/+3
|
* DecoderThread: move code to DecoderControl::CycleMixRamp()Max Kellermann2013-10-261-2/+5
|
* Song: pass reference to song_equals()Max Kellermann2013-10-211-4/+2
|
* *: use nullptr instead of NULLMax Kellermann2013-10-191-3/+3
|
* Thread/Thread: replacement library for GThreadMax Kellermann2013-10-171-5/+3
|
* Log: new logging library APIMax Kellermann2013-10-021-3/+0
| | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
* DecoderControl: lock the mutex in Seek()Max Kellermann2013-09-301-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 declarationsMax Kellermann2013-09-271-0/+2
|
* DecoderControl: convert "enum decoder_state" to strictly-typed enumMax Kellermann2013-09-271-9/+9
|
* DecoderCommand: convert to strictly-typed enumMax Kellermann2013-09-271-7/+7
|
* DecoderControl: convert functions to methodsMax Kellermann2013-09-271-40/+5
|
* MusicBuffer: expose the C++ APIMax Kellermann2013-09-261-3/+2
|
* MusicPipe: expose the C++ APIMax Kellermann2013-09-261-4/+3
|
* gcc.h: add macro gcc_unreachable()Max Kellermann2013-08-031-1/+1
|
* song: convert header to C++Max Kellermann2013-07-281-5/+5
|
* DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann2013-01-271-6/+1
|
* DecoderControl: fix typo in assertion checkMax Kellermann2013-01-231-3/+3
|
* DecoderControl: move functions into the classMax Kellermann2013-01-211-101/+75
|
* DecoderControl: take ownership of client_condMax Kellermann2013-01-101-2/+3
| | | | | Don't let the "client" pass its own GCond. This was not used consistently.
* buffer, pipe: convert to C++Max Kellermann2013-01-041-4/+1
|
* decoder_*: convert to C++Max Kellermann2013-01-041-0/+226