summaryrefslogtreecommitdiffstats
path: root/apps/playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playback.c')
-rw-r--r--apps/playback.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/apps/playback.c b/apps/playback.c
index dc854cbb24..ebe4932ae0 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1344,6 +1344,17 @@ static void audio_finish_load_track(void)
track_id3->elapsed = 0;
offset = track_id3->offset;
+ size_t resume_rewind = (global_settings.resume_rewind *
+ track_id3->bitrate * 1000) / 8;
+
+ if (offset < resume_rewind)
+ {
+ offset = 0;
+ }
+ else
+ {
+ offset -= resume_rewind;
+ }
enum data_type type = TYPE_PACKET_AUDIO;
@@ -1375,6 +1386,8 @@ static void audio_finish_load_track(void)
break;
}
+ track_id3->offset = offset;
+
logf("load track: %s", track_id3->path);
if (file_offset > AUDIO_REBUFFER_GUESS_SIZE)