1
0
Fork 0
forked from len0rd/rockbox

Add a logf, remove an unused parameter, and an unused member of the track_info struct, ensure that we unboos on stop even if buffering, make a function take a parameter instead of using a global

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9644 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Brandon Low 2006-04-13 15:48:00 +00:00
parent c95044a9c1
commit 483c947c3d
2 changed files with 17 additions and 17 deletions

View file

@ -730,15 +730,16 @@ static bool buffer_wind_backward(bool require_codec,
return true; return true;
} }
static void audio_update_trackinfo(void) static void audio_update_trackinfo(int cur_idx)
{ {
ci.filesize = cur_ti->filesize; logf("sk2:%s",playlist_peek(0));
cur_ti->id3.elapsed = 0; ci.filesize = tracks[cur_idx].filesize;
cur_ti->id3.offset = 0; tracks[cur_idx].id3.elapsed = 0;
ci.id3 = (struct mp3entry *)&cur_ti->id3; tracks[cur_idx].id3.offset = 0;
ci.id3 = &tracks[cur_idx].id3;
ci.curpos = 0; ci.curpos = 0;
ci.seek_time = 0; ci.seek_time = 0;
ci.taginfo_ready = (bool *)&cur_ti->taginfo_ready; ci.taginfo_ready = &tracks[cur_idx].taginfo_ready;
} }
static void audio_rebuffer(void) static void audio_rebuffer(void)
@ -848,7 +849,7 @@ static void audio_check_new_track(bool require_codec)
} }
} }
audio_update_trackinfo(); audio_update_trackinfo(track_ridx);
buffer_done: buffer_done:
new_track = 0; new_track = 0;
mutex_unlock(&mutex_interthread); mutex_unlock(&mutex_interthread);
@ -1444,7 +1445,6 @@ static bool audio_load_track(int offset, bool start_play)
tracks[track_widx].filerem = size; tracks[track_widx].filerem = size;
tracks[track_widx].filesize = size; tracks[track_widx].filesize = size;
tracks[track_widx].available = 0; tracks[track_widx].available = 0;
tracks[track_widx].playlist_offset = last_peek_offset;
/* Set default values */ /* Set default values */
if (start_play) { if (start_play) {
@ -1465,7 +1465,7 @@ static bool audio_load_track(int offset, bool start_play)
track_changed = true; track_changed = true;
} }
} else { } else {
logf("Metadata error:%s!",trackname); logf("mde:%s!",trackname);
/* Set filesize to zero to indicate no file was loaded. */ /* Set filesize to zero to indicate no file was loaded. */
tracks[track_widx].filesize = 0; tracks[track_widx].filesize = 0;
tracks[track_widx].filerem = 0; tracks[track_widx].filerem = 0;
@ -1591,14 +1591,15 @@ static void stop_codec_flush(void)
pcmbuf_pause(paused); pcmbuf_pause(paused);
} }
static void audio_stop_playback(bool resume) static void audio_stop_playback(void)
{ {
if (playing) if (playing)
playlist_update_resume_info(resume ? audio_current_track() : NULL); playlist_update_resume_info(audio_current_track());
playing = false; playing = false;
filling = false; filling = false;
paused = false; paused = false;
stop_codec_flush(); stop_codec_flush();
pcmbuf_set_boost_mode(false);
if (current_fd >= 0) { if (current_fd >= 0) {
close(current_fd); close(current_fd);
current_fd = -1; current_fd = -1;
@ -1900,7 +1901,7 @@ void audio_thread(void)
case Q_AUDIO_STOP: case Q_AUDIO_STOP:
logf("audio_stop"); logf("audio_stop");
audio_stop_playback(true); audio_stop_playback();
break ; break ;
case Q_AUDIO_PAUSE: case Q_AUDIO_PAUSE:
@ -1961,7 +1962,7 @@ void audio_thread(void)
#ifndef SIMULATOR #ifndef SIMULATOR
case SYS_USB_CONNECTED: case SYS_USB_CONNECTED:
logf("USB: Audio core"); logf("USB: Audio core");
audio_stop_playback(true); audio_stop_playback();
usb_acknowledge(SYS_USB_CONNECTED_ACK); usb_acknowledge(SYS_USB_CONNECTED_ACK);
usb_wait_for_disconnect(&audio_queue); usb_wait_for_disconnect(&audio_queue);
break ; break ;
@ -2097,7 +2098,7 @@ void voice_codec_thread(void)
switch (ev.id) { switch (ev.id) {
case Q_CODEC_LOAD_DISK: case Q_CODEC_LOAD_DISK:
logf("Loading voice codec"); logf("Loading voice codec");
audio_stop_playback(true); audio_stop_playback();
mutex_lock(&mutex_codecthread); mutex_lock(&mutex_codecthread);
current_codec = CODEC_IDX_VOICE; current_codec = CODEC_IDX_VOICE;
dsp_configure(DSP_RESET, 0); dsp_configure(DSP_RESET, 0);
@ -2111,7 +2112,7 @@ void voice_codec_thread(void)
status = codec_load_file((char *)ev.data, &ci_voice); status = codec_load_file((char *)ev.data, &ci_voice);
logf("Voice codec finished"); logf("Voice codec finished");
audio_stop_playback(true); audio_stop_playback();
mutex_unlock(&mutex_codecthread); mutex_unlock(&mutex_codecthread);
current_codec = CODEC_IDX_AUDIO; current_codec = CODEC_IDX_AUDIO;
voice_codec_loaded = false; voice_codec_loaded = false;
@ -2467,7 +2468,7 @@ void audio_set_crossfade(int enable)
return ; return ;
/* Playback has to be stopped before changing the buffer size. */ /* Playback has to be stopped before changing the buffer size. */
audio_stop_playback(true); audio_stop_playback();
/* Re-initialize audio system. */ /* Re-initialize audio system. */
if (was_playing) if (was_playing)

View file

@ -46,7 +46,6 @@ struct track_info {
volatile size_t available; /* Available bytes to read from buffer */ volatile size_t available; /* Available bytes to read from buffer */
bool taginfo_ready; /* Is metadata read */ bool taginfo_ready; /* Is metadata read */
int playlist_offset; /* File location in playlist */
bool event_sent; /* Was this track's buffered event sent */ bool event_sent; /* Was this track's buffered event sent */
}; };