| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
If nobody sent a command, the player isn't waiting for the decoder.
Don't wake it up.
|
|
|
|
| |
The player should always be woken up when the decoder quits.
|
|
|
|
|
| |
Eliminate one goto in decodeStart() by moving some cleanup to
decoder_task().
|
|
|
|
|
| |
switch looks much nicer than if/elseif/... and gcc generates nice
warnings when a new command is added to the enum.
|
|
|
|
|
| |
Don't return 0/-1 on success/error, but true/false. Instead of int,
use bool for storing flags.
|
|
|
|
|
|
|
| |
A decoder_flush() invocation was missing in the FLAC plugin, resulting
in casual assertion failures due to a wrong assumption about the last
chunk's audio format. It's much easier to remove that decoder_flush()
function and make the decoder thread call ob_flush().
|
|
|
|
|
| |
For boolean values and success flags, use bool instead of integer (1/0
for true/false, 0/-1 for success/failure).
|
|
|
|
| |
Renamed all functions and variables.
|
|
|
|
| |
There was only one user of pathcpy_trunc(), which can be eliminated.
|
|
|
|
|
| |
Provide a struct type which can be forward-declared. The typedef
InputStream is deprecated now.
|
|
|
|
|
| |
Wake up the player as soon as the decoder thread has entered its loop.
This fixes a dead lock when the input is blocking.
|
|
|
|
|
|
| |
The mapper library maps directory and song objects to file system
paths. With this central library, the code mixture in path.c should
be cleaned up, and we will be able to add neat features like aliasing.
|
|
|
|
|
|
| |
The runtime check suggests that the author has somehow thought
song_get_url(NULL) might be valid. It should not be. Replace it with
an assertion.
|
|
|
|
| |
CamelCase is ugly... rename all functions.
|
|
|
|
| |
"bool" should be used in C99 programs for boolean values.
|
|
|
|
| |
Again, a data type which can be forward-declared.
|
|
|
|
|
| |
Why have a "_func" prefix on all method names? Also don't typedef the
methods, there is no advantage in that.
|
|
|
|
|
|
|
|
|
|
| |
There was a known deadlocking bug in the notify library: when the
other thread set notify->pending after the according check in
notify_wait(), the latter thread was deadlocked. Resolve this by
synchronizing all accesses to notify->pending with the notify object's
mutex. Since notify_signal_sync() was never used, we can remove it.
As a consequence, we don't need notify_enter() and notify_leave()
anymore; eliminate them, too.
|
|
|
|
|
| |
Give player.c a better name, meaning that the code is used to control
the player thread.
|
| |
|
| |
|
|
It should be obvious in which thread or context a function is being
executed at runtime. The code which was left in decode.c is for the
decoder thread itself; give the file a better name.
|