diff options
| author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-10-27 01:25:47 +0000 |
|---|---|---|
| committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-10-27 01:25:47 +0000 |
| commit | d08131a1172b09a701de9fc0b24e045866c9fe6a (patch) | |
| tree | ad87bb1efa5a0d66cb58f1e47b05bc437617381b /apps | |
| parent | 0652663367268f0c418d10cc7918804c51a54cb5 (diff) | |
| download | rockbox-d08131a1172b09a701de9fc0b24e045866c9fe6a.zip rockbox-d08131a1172b09a701de9fc0b24e045866c9fe6a.tar.gz rockbox-d08131a1172b09a701de9fc0b24e045866c9fe6a.tar.bz2 rockbox-d08131a1172b09a701de9fc0b24e045866c9fe6a.tar.xz | |
* Only call bufgetcodec once
* Fix/Improve some queue logf messages
* Complete buffering_init
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15325 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/buffering.c | 9 | ||||
| -rw-r--r-- | apps/playback.c | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/apps/buffering.c b/apps/buffering.c index 7ebcbae..44d3e60 100644 --- a/apps/buffering.c +++ b/apps/buffering.c @@ -819,7 +819,7 @@ bool bufclose(int handle_id) { logf("bufclose(%d)", handle_id); - LOGFQUEUE("buffering >| Q_CLOSE_HANDLE"); + LOGFQUEUE("buffering >| Q_CLOSE_HANDLE %d", handle_id); return queue_send(&buffering_queue, Q_CLOSE_HANDLE, handle_id); } @@ -981,13 +981,13 @@ ssize_t buf_handle_offset(int handle_id) void buf_request_buffer_handle(int handle_id) { - LOGFQUEUE("buffering >| buffering Q_BUFFER_HANDLE"); + LOGFQUEUE("buffering >| buffering Q_BUFFER_HANDLE %d", handle_id); queue_send(&buffering_queue, Q_BUFFER_HANDLE, handle_id); } void buf_set_base_handle(int handle_id) { - LOGFQUEUE("buffering >| buffering Q_BUFFER_HANDLE"); + LOGFQUEUE("buffering > buffering Q_BASE_HANDLE %d", handle_id); queue_post(&buffering_queue, Q_BASE_HANDLE, handle_id); } @@ -1198,7 +1198,10 @@ bool buffering_init(char *buf, size_t buflen) buf_ridx = 0; first_handle = NULL; + cur_handle = NULL; + cached_handle = NULL; num_handles = 0; + base_handle_id = 0; buffer_callback_count = 0; memset(buffer_low_callback_funcs, 0, sizeof(buffer_low_callback_funcs)); diff --git a/apps/playback.c b/apps/playback.c index 1a0283e..c26a39e 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -1895,6 +1895,7 @@ static void codec_thread(void) struct queue_event ev; int status; size_t wrap; + void *codecptr; while (1) { status = 0; @@ -1950,9 +1951,10 @@ static void codec_thread(void) #endif set_current_codec(CODEC_IDX_AUDIO); ci.stop_codec = false; - wrap = (size_t)&filebuf[filebuflen] - (size_t)bufgetcodec(CUR_TI); - status = codec_load_ram(bufgetcodec(CUR_TI), CUR_TI->codecsize, - &filebuf[0], wrap, &ci); + codecptr = bufgetcodec(CUR_TI); + wrap = (size_t)&filebuf[filebuflen] - (size_t)codecptr; + status = codec_load_ram(codecptr, CUR_TI->codecsize, + &filebuf[0], wrap, &ci); #ifdef PLAYBACK_VOICE semaphore_release(&sem_codecthread); #endif |