diff options
Diffstat (limited to 'apps/playback.c')
-rw-r--r-- | apps/playback.c | 13 |
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) |