summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2007-11-07 00:59:42 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2007-11-07 00:59:42 +0000
commit5f7d21dfa0b5c0c9e53eb32ecb072cf956f4552d (patch)
tree1d1ac61306a2a5c9ca881f0c43eabaac6fc46721 /apps
parentc7a8663c7bd6ccb9568fc31b6bad4f5a38aebb8e (diff)
downloadrockbox-5f7d21dfa0b5c0c9e53eb32ecb072cf956f4552d.zip
rockbox-5f7d21dfa0b5c0c9e53eb32ecb072cf956f4552d.tar.gz
rockbox-5f7d21dfa0b5c0c9e53eb32ecb072cf956f4552d.tar.bz2
rockbox-5f7d21dfa0b5c0c9e53eb32ecb072cf956f4552d.tar.xz
Fix tracks always being cleared on skip (reported by dionoea). The problem was that skipping the ID3 info from the beginning caused the offset to always be nonzero.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15503 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/playback.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 3bf3af1..ec93b2e 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -2605,8 +2605,12 @@ static int audio_check_new_track(void)
for (i = 0; i < ci.new_track; i++)
{
idx = (track_ridx + i) & MAX_TRACK_MASK;
- if (buf_handle_offset(tracks[idx].audio_hid) > 0)
+ if (buf_handle_offset(tracks[idx].audio_hid) >
+ bufgetid3(tracks[idx].id3_hid)->first_frame_offset)
+ {
+ /* We don't have all the audio data for that track, so clear it */
clear_track_info(&tracks[idx]);
+ }
}
/* Move to the new track */