summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2008-03-08 08:05:29 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2008-03-08 08:05:29 +0000
commitd8204fa11e2870b5f6106392a13bd16328798f5f (patch)
tree09e0c2d71f96cf03b6cdeec8ccfa124cab7e3403
parent3c41df9d1401abe3cf721b0135cdc0fb6094e722 (diff)
downloadrockbox-d8204fa11e2870b5f6106392a13bd16328798f5f.zip
rockbox-d8204fa11e2870b5f6106392a13bd16328798f5f.tar.gz
rockbox-d8204fa11e2870b5f6106392a13bd16328798f5f.tar.bz2
rockbox-d8204fa11e2870b5f6106392a13bd16328798f5f.tar.xz
Simplified the playback engine more and removed unnecessary code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16552 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/playback.c29
1 files changed, 9 insertions, 20 deletions
diff --git a/apps/playback.c b/apps/playback.c
index f66fd29..cb9ed3e 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1566,11 +1566,11 @@ static void buffering_audio_callback(enum callback_event ev, int value)
}
/* Clear tracks between write and read, non inclusive */
-static void audio_clear_track_entries(bool clear_unbuffered)
+static void audio_clear_track_entries(void)
{
int cur_idx = track_widx;
- logf("Clearing tracks:%d/%d, %d", track_ridx, track_widx, clear_unbuffered);
+ logf("Clearing tracks:%d/%d", track_ridx, track_widx);
/* Loop over all tracks from write-to-read */
while (1)
@@ -1580,10 +1580,7 @@ static void audio_clear_track_entries(bool clear_unbuffered)
if (cur_idx == track_ridx)
break;
- /* If the track is buffered, conditionally clear/notify,
- * otherwise clear the track if that option is selected */
- if (clear_unbuffered)
- clear_track_info(&tracks[cur_idx]);
+ clear_track_info(&tracks[cur_idx]);
}
}
@@ -1964,7 +1961,7 @@ static void audio_fill_file_buffer(bool start_play, size_t offset)
logf("Starting buffer fill");
if (!start_play)
- audio_clear_track_entries(false);
+ audio_clear_track_entries();
/* Save the current resume position once. */
playlist_update_resume_info(audio_current_track());
@@ -1999,7 +1996,7 @@ static void audio_rebuffer(void)
/* Reset track pointers */
track_widx = track_ridx;
- audio_clear_track_entries(true);
+ audio_clear_track_entries();
/* Fill the buffer */
last_peek_offset = -1;
@@ -2231,14 +2228,6 @@ static void audio_stop_playback(void)
/* TODO: Create auto bookmark too? */
prev_track_elapsed = curtrack_id3.elapsed;
-
- /* At end of playlist save current id3 (id3.elapsed!) to buffer and
- * Increment index so runtime info is saved in audio_clear_track_entries().
- */
- if ((playlist_end) && (tracks[track_ridx].id3_hid >= 0)) {
- copy_mp3entry(bufgetid3(tracks[track_ridx].id3_hid), &curtrack_id3);
- track_ridx = (track_ridx + 1) & MAX_TRACK_MASK;
- }
}
paused = false;
@@ -2246,7 +2235,7 @@ static void audio_stop_playback(void)
playing = false;
/* Mark all entries null. */
- audio_clear_track_entries(false);
+ audio_clear_track_entries();
/* Close all tracks */
audio_release_tracks();
@@ -2312,7 +2301,7 @@ static void audio_invalidate_tracks(void)
track_widx = track_ridx;
/* Mark all other entries null (also buffered wrong metadata). */
- audio_clear_track_entries(true);
+ audio_clear_track_entries();
track_widx = (track_widx + 1) & MAX_TRACK_MASK;
@@ -2330,7 +2319,7 @@ static void audio_new_playlist(void)
skipped_during_pause = true;
playlist_end = false;
track_widx = track_ridx;
- audio_clear_track_entries(true);
+ audio_clear_track_entries();
track_widx = (track_widx + 1) & MAX_TRACK_MASK;
@@ -2574,7 +2563,7 @@ static void audio_thread(void)
usb_wait_for_disconnect(&audio_queue);
/* Mark all entries null. */
- audio_clear_track_entries(false);
+ audio_clear_track_entries();
/* release tracks to make sure all handles are closed */
audio_release_tracks();