summaryrefslogtreecommitdiff
path: root/apps/playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playback.c')
-rw-r--r--apps/playback.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 3a7faa3d8d..a99a22372e 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -628,8 +628,8 @@ struct mp3entry* audio_next_track(void)
628 return NULL; 628 return NULL;
629} 629}
630 630
631/* gets a pointer to the id3 data, Not thread safe!, DON'T yield()/sleep() */ 631/* gets a copy of the id3 data */
632bool audio_peek_track(struct mp3entry** id3, int offset) 632bool audio_peek_track(struct mp3entry* id3, int offset)
633{ 633{
634 int next_idx; 634 int next_idx;
635 int new_offset = ci.new_track + wps_offset + offset; 635 int new_offset = ci.new_track + wps_offset + offset;
@@ -640,8 +640,13 @@ bool audio_peek_track(struct mp3entry** id3, int offset)
640 640
641 if (tracks[next_idx].id3_hid >= 0) 641 if (tracks[next_idx].id3_hid >= 0)
642 { 642 {
643 return bufgetdata(tracks[next_idx].id3_hid, 0, (void**)id3) 643 struct mp3entry *id3src;
644 == sizeof(struct mp3entry); 644 if (bufgetdata(tracks[next_idx].id3_hid, 0, (void**)&id3src)
645 == sizeof(struct mp3entry))
646 {
647 copy_mp3entry(id3, id3src);
648 return true;
649 }
645 } 650 }
646 return false; 651 return false;
647} 652}