summaryrefslogtreecommitdiff
path: root/firmware/mpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/mpeg.c')
-rw-r--r--firmware/mpeg.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index ce50115f05..23af9d480b 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -735,17 +735,20 @@ static void mpeg_thread(void)
735 if ( num_tracks_in_memory() > 1 ) { 735 if ( num_tracks_in_memory() > 1 ) {
736 int track_offset = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; 736 int track_offset = (tag_read_idx+1) & MAX_ID3_TAGS_MASK;
737 mp3buf_read = id3tags[track_offset]->mempos; 737 mp3buf_read = id3tags[track_offset]->mempos;
738 playing = true;
739 last_dma_tick = current_tick;
740 init_dma(); 738 init_dma();
741 start_dma(); 739 last_dma_tick = current_tick;
742 track_change();
743 740
744 /* should we start reading more data? */ 741 /* should we start reading more data? */
745 if(!filling && (get_unplayed_space() < MPEG_LOW_WATER)) { 742 if(!filling && (get_unplayed_space() < MPEG_LOW_WATER)) {
746 filling = true; 743 filling = true;
747 queue_post(&mpeg_queue, MPEG_NEED_DATA, 0); 744 queue_post(&mpeg_queue, MPEG_NEED_DATA, 0);
745 play_pending = true;
746 } else {
747 playing = true;
748 start_dma();
748 } 749 }
750
751 track_change();
749 } 752 }
750 else { 753 else {
751 reset_mp3_buffer(); 754 reset_mp3_buffer();