summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-03-03 22:47:05 +0000
committerThomas Martitz <kugel@rockbox.org>2010-03-03 22:47:05 +0000
commit2e99a0f561cd5b48dff16d5723ebb8375272f7ee (patch)
tree125ff8097d7a03395a05d5e708042b198ea4a78b
parentdd95d6ecba27b4bd8afcb0eb1016fd897b51040c (diff)
downloadrockbox-v3.5.tar.gz
rockbox-v3.5.zip
Backport r24968 again. svn diff -r PREV was too greedy in the previous commit.v3.5.1-finalv3.5
Make the buffer low-level watermark (and the related anti-skip setting) work again. Update the buffering 'base handle' as new tracks start playing, since this is needed to determine how much playable data is left in the buffer. Should fix the buffering problem reported in the forums (http://forums.rockbox.org/index.php?topic=24014.0), and also makes the usefl line in the buffering thread debug screen useful again. git-svn-id: svn://svn.rockbox.org/rockbox/branches/v3_5@25010 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/playback.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/playback.c b/apps/playback.c
index b7078441c2..90a5e4384b 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1565,6 +1565,7 @@ static int audio_check_new_track(void)
1565 1565
1566 /* Move to the new track */ 1566 /* Move to the new track */
1567 track_ridx = (track_ridx + ci.new_track) & MAX_TRACK_MASK; 1567 track_ridx = (track_ridx + ci.new_track) & MAX_TRACK_MASK;
1568 buf_set_base_handle(CUR_TI->audio_hid);
1568 1569
1569 1570
1570 if (automatic_skip) 1571 if (automatic_skip)
@@ -1723,6 +1724,7 @@ static void audio_play_start(size_t offset)
1723 1724
1724 sound_set_volume(global_settings.volume); 1725 sound_set_volume(global_settings.volume);
1725 track_widx = track_ridx = 0; 1726 track_widx = track_ridx = 0;
1727 buf_set_base_handle(-1);
1726 1728
1727 /* Clear all track entries. */ 1729 /* Clear all track entries. */
1728 for (i = 0; i < MAX_TRACK; i++) { 1730 for (i = 0; i < MAX_TRACK; i++) {