summaryrefslogtreecommitdiffstats
path: root/apps/playback.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2017-04-06 19:32:35 -0400
committerMichael Sevakis <jethead71@rockbox.org>2017-04-06 19:32:35 -0400
commit5e4532c87cf747600ec1d7ae22531e89ecdce6a4 (patch)
treed65ce6f0c4fb0fd6b214ccf5f12414739f0160cd /apps/playback.c
parent1597c4fe343f4fee0821f590b592341a00362d85 (diff)
downloadrockbox-5e4532c87cf747600ec1d7ae22531e89ecdce6a4.tar.gz
rockbox-5e4532c87cf747600ec1d7ae22531e89ecdce6a4.zip
Fix a problem with audio not starting on a list of short files
Forced audio start was left out when a third codec attempts to start a second track transition. Only one pending transition is allowed at a time. There wouldn't be enough PCM in the buffer to trigger audio playback and audio would just return without giving the pcm buffer a kick. Fixes FS#13100 - Player failed on short tracks Change-Id: I338b0b12022c591930451fd5ed26a2a73008835f
Diffstat (limited to 'apps/playback.c')
-rw-r--r--apps/playback.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 8a25375fec..54410ad2cc 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -2376,9 +2376,16 @@ static void audio_on_codec_complete(int status)
Skipping: There was already a skip in progress, remember it and
allow no further progress until the PCM from the previous
song has finished
+
+ This function will be reentered upon completing the existing
+ transition in order to do the one that was just tried (below)
*/
codec_skip_pending = true;
codec_skip_status = status;
+
+ /* PCM buffer must know; audio could still be filling and hasn't
+ yet reached the play watermark */
+ pcmbuf_start_track_change(TRACK_CHANGE_AUTO_PILEUP);
return;
}