diff options
author | Ryan Jackson <rdjackso@rockbox.org> | 2005-07-24 04:17:34 +0000 |
---|---|---|
committer | Ryan Jackson <rdjackso@rockbox.org> | 2005-07-24 04:17:34 +0000 |
commit | 795ce8b1a829eb36c051e0c5f2e62572b71ab70c (patch) | |
tree | 867e4d37553601249355abb810dbee1c449163ba | |
parent | 255e1cf79cd30a1e39e279c65d046ee316072a59 (diff) | |
download | rockbox-795ce8b1a829eb36c051e0c5f2e62572b71ab70c.tar.gz rockbox-795ce8b1a829eb36c051e0c5f2e62572b71ab70c.zip |
Changing tracks in REPEAT_ONE mode restarts the current track instead of crashing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7232 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/playback.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c index 88a48a7471..4756c8aed1 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -1246,7 +1246,7 @@ bool codec_request_next_track_callback(void) | |||
1246 | return false; | 1246 | return false; |
1247 | 1247 | ||
1248 | logf("Request new track"); | 1248 | logf("Request new track"); |
1249 | 1249 | ||
1250 | /* Advance to next track. */ | 1250 | /* Advance to next track. */ |
1251 | if (ci.reload_codec && new_track > 0) { | 1251 | if (ci.reload_codec && new_track > 0) { |
1252 | if (!playlist_check(new_track)) | 1252 | if (!playlist_check(new_track)) |
@@ -1356,6 +1356,18 @@ static void initiate_track_change(int peek_index) | |||
1356 | { | 1356 | { |
1357 | if (!playlist_check(peek_index)) | 1357 | if (!playlist_check(peek_index)) |
1358 | return ; | 1358 | return ; |
1359 | |||
1360 | if (global_settings.repeat_mode == REPEAT_ONE) { | ||
1361 | if (!paused) | ||
1362 | pcm_play_pause(false); | ||
1363 | |||
1364 | audio_ff_rewind(0); | ||
1365 | |||
1366 | if (!paused) | ||
1367 | pcm_play_pause(true); | ||
1368 | |||
1369 | return; | ||
1370 | } | ||
1359 | 1371 | ||
1360 | /* Detect if disk is spinning.. */ | 1372 | /* Detect if disk is spinning.. */ |
1361 | if (filling) { | 1373 | if (filling) { |