diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2017-04-06 19:32:35 -0400 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2017-04-06 19:32:35 -0400 |
commit | 5e4532c87cf747600ec1d7ae22531e89ecdce6a4 (patch) | |
tree | d65ce6f0c4fb0fd6b214ccf5f12414739f0160cd /apps/playback.c | |
parent | 1597c4fe343f4fee0821f590b592341a00362d85 (diff) | |
download | rockbox-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.c | 7 |
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) | |||
2376 | Skipping: There was already a skip in progress, remember it and | 2376 | Skipping: There was already a skip in progress, remember it and |
2377 | allow no further progress until the PCM from the previous | 2377 | allow no further progress until the PCM from the previous |
2378 | song has finished | 2378 | song has finished |
2379 | |||
2380 | This function will be reentered upon completing the existing | ||
2381 | transition in order to do the one that was just tried (below) | ||
2379 | */ | 2382 | */ |
2380 | codec_skip_pending = true; | 2383 | codec_skip_pending = true; |
2381 | codec_skip_status = status; | 2384 | codec_skip_status = status; |
2385 | |||
2386 | /* PCM buffer must know; audio could still be filling and hasn't | ||
2387 | yet reached the play watermark */ | ||
2388 | pcmbuf_start_track_change(TRACK_CHANGE_AUTO_PILEUP); | ||
2382 | return; | 2389 | return; |
2383 | } | 2390 | } |
2384 | 2391 | ||