diff options
-rw-r--r-- | apps/playback.c | 12 |
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 | ||
1905 | static void initialize_buffer_fill(bool clear_tracks) | 1905 | static 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 | ||