summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/playback.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/playback.c b/apps/playback.c
index c6f30865a5..a2f1672ea1 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1904,16 +1904,20 @@ static void generate_postbuffer_events(void)
1904 1904
1905static void initialize_buffer_fill(bool clear_tracks) 1905static void initialize_buffer_fill(bool clear_tracks)
1906{ 1906{
1907 fill_bytesleft = filebuflen - filebufused;
1908 if (buf_ridx > cur_ti->buf_idx)
1909 cur_ti->start_pos = buf_ridx - cur_ti->buf_idx;
1910
1911 /* Don't initialize if we're already initialized */ 1907 /* Don't initialize if we're already initialized */
1912 if (filling) 1908 if (filling)
1913 return ; 1909 return ;
1914 1910
1915 logf("Starting buffer fill"); 1911 logf("Starting buffer fill");
1916 1912
1913 fill_bytesleft = filebuflen - filebufused;
1914 /* TODO: This doesn't look right, and might explain some problems with
1915 * seeking in large files (to offsets larger than filebuflen).
1916 * And what about buffer wraps?
1917 */
1918 if (buf_ridx > cur_ti->buf_idx)
1919 cur_ti->start_pos = buf_ridx - cur_ti->buf_idx;
1920
1917 if (clear_tracks) 1921 if (clear_tracks)
1918 audio_clear_track_entries(true, false); 1922 audio_clear_track_entries(true, false);
1919 1923