From bbbdd99fdaacfe0a3c9a1237fa0d086907c1286f Mon Sep 17 00:00:00 2001 From: edward-p Date: Sat, 15 Sep 2018 13:57:39 +0200 Subject: Implement audio buffering Prevent stuttering on low-power devices like Android phones by moving playback to its own thread and decoupling it from decoding through a reasonably sized buffer. Fixes #665. --- src/ui_act.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/ui_act.c') diff --git a/src/ui_act.c b/src/ui_act.c index eeb6fa6..ba340c1 100644 --- a/src/ui_act.c +++ b/src/ui_act.c @@ -57,6 +57,9 @@ static inline void BarUiDoSkipSong (player_t * const player) { player->doPause = false; pthread_cond_broadcast (&player->cond); pthread_mutex_unlock (&player->lock); + pthread_mutex_lock (&player->aoplayLock); + pthread_cond_broadcast (&player->aoplayCond); + pthread_mutex_unlock (&player->aoplayLock); } /* transform station if necessary to allow changes like rename, rate, ... @@ -881,4 +884,3 @@ BarUiActCallback(BarUiActManageStation) { PianoDestroyStationInfo (&reqData.info); } - -- cgit v1.2.3