diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2005-08-30 22:50:56 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2005-08-30 22:50:56 +0000 |
commit | e54aa2ab934a6f21c864b1cfa820a7a4b70078fb (patch) | |
tree | 6b3bc9e88d6219a6a0baa7b72c6ca7dd82a7c237 /firmware | |
parent | dfb001560a4e237a774cd5ef55cba2681bb409d5 (diff) | |
download | rockbox-e54aa2ab934a6f21c864b1cfa820a7a4b70078fb.tar.gz rockbox-e54aa2ab934a6f21c864b1cfa820a7a4b70078fb.zip |
Archos: Even more NULL pointer accesses removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7433 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/mpeg.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 221c403b49..933d02ce8a 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c @@ -777,9 +777,13 @@ void rec_tick(void) void playback_tick(void) { struct trackdata *ptd = get_trackdata(0); - ptd->id3.elapsed += (current_tick - last_dma_tick) * 1000 / HZ; - last_dma_tick = current_tick; - audio_dispatch_event(AUDIO_EVENT_POS_REPORT, (unsigned long)ptd->id3.elapsed); + if(ptd) + { + ptd->id3.elapsed += (current_tick - last_dma_tick) * 1000 / HZ; + last_dma_tick = current_tick; + audio_dispatch_event(AUDIO_EVENT_POS_REPORT, + (unsigned long)ptd->id3.elapsed); + } } static void reset_mp3_buffer(void) @@ -849,7 +853,9 @@ static void transfer_end(unsigned char** ppbuf, int* psize) *psize = last_dma_chunk_size & 0xffff; *ppbuf = audiobuf + audiobuf_read; - get_trackdata(0)->id3.offset += last_dma_chunk_size; + track = get_trackdata(0); + if(track) + track->id3.offset += last_dma_chunk_size; /* Update the watermark debug level */ if(unplayed_space_left < lowest_watermark_level) |