1
0
Fork 0
forked from len0rd/rockbox

Simplified the playback engine more and removed unnecessary code.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16552 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Miika Pekkarinen 2008-03-08 08:05:29 +00:00
parent 3c41df9d14
commit d8204fa11e

View file

@ -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();