forked from len0rd/rockbox
* 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
This commit is contained in:
parent
0652663367
commit
d08131a117
2 changed files with 11 additions and 6 deletions
|
@ -819,7 +819,7 @@ bool bufclose(int handle_id)
|
||||||
{
|
{
|
||||||
logf("bufclose(%d)", 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);
|
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)
|
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);
|
queue_send(&buffering_queue, Q_BUFFER_HANDLE, handle_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void buf_set_base_handle(int 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);
|
queue_post(&buffering_queue, Q_BASE_HANDLE, handle_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1198,7 +1198,10 @@ bool buffering_init(char *buf, size_t buflen)
|
||||||
buf_ridx = 0;
|
buf_ridx = 0;
|
||||||
|
|
||||||
first_handle = NULL;
|
first_handle = NULL;
|
||||||
|
cur_handle = NULL;
|
||||||
|
cached_handle = NULL;
|
||||||
num_handles = 0;
|
num_handles = 0;
|
||||||
|
base_handle_id = 0;
|
||||||
|
|
||||||
buffer_callback_count = 0;
|
buffer_callback_count = 0;
|
||||||
memset(buffer_low_callback_funcs, 0, sizeof(buffer_low_callback_funcs));
|
memset(buffer_low_callback_funcs, 0, sizeof(buffer_low_callback_funcs));
|
||||||
|
|
|
@ -1895,6 +1895,7 @@ static void codec_thread(void)
|
||||||
struct queue_event ev;
|
struct queue_event ev;
|
||||||
int status;
|
int status;
|
||||||
size_t wrap;
|
size_t wrap;
|
||||||
|
void *codecptr;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
status = 0;
|
status = 0;
|
||||||
|
@ -1950,9 +1951,10 @@ static void codec_thread(void)
|
||||||
#endif
|
#endif
|
||||||
set_current_codec(CODEC_IDX_AUDIO);
|
set_current_codec(CODEC_IDX_AUDIO);
|
||||||
ci.stop_codec = false;
|
ci.stop_codec = false;
|
||||||
wrap = (size_t)&filebuf[filebuflen] - (size_t)bufgetcodec(CUR_TI);
|
codecptr = bufgetcodec(CUR_TI);
|
||||||
status = codec_load_ram(bufgetcodec(CUR_TI), CUR_TI->codecsize,
|
wrap = (size_t)&filebuf[filebuflen] - (size_t)codecptr;
|
||||||
&filebuf[0], wrap, &ci);
|
status = codec_load_ram(codecptr, CUR_TI->codecsize,
|
||||||
|
&filebuf[0], wrap, &ci);
|
||||||
#ifdef PLAYBACK_VOICE
|
#ifdef PLAYBACK_VOICE
|
||||||
semaphore_release(&sem_codecthread);
|
semaphore_release(&sem_codecthread);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue