summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/playback.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/playback.c b/apps/playback.c
index fef65f1e7d..1c9c12443c 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -565,19 +565,18 @@ bool loadcodec(const char *trackname, bool start_play)
565 return true; 565 return true;
566} 566}
567 567
568bool audio_load_track(int offset, bool start_play) 568bool audio_load_track(int offset, bool start_play, int peek_offset)
569{ 569{
570 char *trackname; 570 char *trackname;
571 int fd; 571 int fd;
572 off_t size; 572 off_t size;
573 int rc, i; 573 int rc, i;
574 int copy_n; 574 int copy_n;
575 int last_offset = 0;
576 575
577 if (track_count >= MAX_TRACK) 576 if (track_count >= MAX_TRACK)
578 return false; 577 return false;
579 578
580 trackname = playlist_peek(last_offset); 579 trackname = playlist_peek(peek_offset);
581 if (!trackname) { 580 if (!trackname) {
582 return false; 581 return false;
583 } 582 }
@@ -639,7 +638,6 @@ bool audio_load_track(int offset, bool start_play)
639 break ; 638 break ;
640 } 639 }
641 640
642 last_offset++;
643 track_count++; 641 track_count++;
644 i = tracks[track_widx].filepos; 642 i = tracks[track_widx].filepos;
645 while (i < size) { 643 while (i < size) {
@@ -694,11 +692,13 @@ bool audio_load_track(int offset, bool start_play)
694 692
695void audio_insert_tracks(int offset, bool start_playing) 693void audio_insert_tracks(int offset, bool start_playing)
696{ 694{
695 int peek_offset = 0;
697 fill_bytesleft = codecbuflen - codecbufused; 696 fill_bytesleft = codecbuflen - codecbufused;
698 filling = true; 697 filling = true;
699 while (audio_load_track(offset, start_playing)) { 698 while (audio_load_track(offset, start_playing, peek_offset)) {
700 start_playing = false; 699 start_playing = false;
701 offset = 0; 700 offset = 0;
701 peek_offset++;
702 } 702 }
703 filling = false; 703 filling = false;
704} 704}