forked from len0rd/rockbox
Fix test_codec on multiprocessor codecs (MP3, SPC).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18558 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
4e36a2b991
commit
ccd56bf220
3 changed files with 31 additions and 1 deletions
|
@ -606,6 +606,14 @@ static const struct plugin_api rockbox_api = {
|
|||
search_albumart_files,
|
||||
#endif
|
||||
|
||||
thread_thaw,
|
||||
semaphore_init,
|
||||
semaphore_wait,
|
||||
semaphore_release,
|
||||
event_init,
|
||||
event_wait,
|
||||
event_set_state,
|
||||
|
||||
/* new stuff at the end, sort into place next time
|
||||
the API gets incompatible */
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ void* plugin_get_buffer(size_t *buffer_size);
|
|||
#define PLUGIN_MAGIC 0x526F634B /* RocK */
|
||||
|
||||
/* increase this every time the api struct changes */
|
||||
#define PLUGIN_API_VERSION 123
|
||||
#define PLUGIN_API_VERSION 124
|
||||
|
||||
/* update this to latest version if a change to the api struct breaks
|
||||
backwards compatibility (and please take the opportunity to sort in any
|
||||
|
@ -763,6 +763,15 @@ struct plugin_api {
|
|||
char *buf, int buflen);
|
||||
#endif
|
||||
|
||||
void (*thread_thaw)(struct thread_entry *thread);
|
||||
void (*semaphore_init)(struct semaphore *s, int max, int start);
|
||||
void (*semaphore_wait)(struct semaphore *s);
|
||||
void (*semaphore_release)(struct semaphore *s);
|
||||
void (*event_init)(struct event *e, unsigned int flags);
|
||||
void (*event_wait)(struct event *e, unsigned int for_state);
|
||||
void (*event_set_state)(struct event *e, unsigned int state);
|
||||
|
||||
|
||||
/* new stuff at the end, sort into place next time
|
||||
the API gets incompatible */
|
||||
|
||||
|
|
|
@ -485,6 +485,19 @@ static void init_ci(void)
|
|||
ci.invalidate_icache = invalidate_icache;
|
||||
ci.flush_icache = flush_icache;
|
||||
#endif
|
||||
|
||||
#if NUM_CORES > 1
|
||||
ci.create_thread = rb->create_thread;
|
||||
ci.thread_thaw = rb->thread_thaw;
|
||||
ci.thread_wait = rb->thread_wait;
|
||||
ci.semaphore_init = rb->semaphore_init;
|
||||
ci.semaphore_wait = rb->semaphore_wait;
|
||||
ci.semaphore_release = rb->semaphore_release;
|
||||
ci.event_init = rb->event_init;
|
||||
ci.event_wait = rb->event_wait;
|
||||
ci.event_set_state = rb->event_set_state;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
static void codec_thread(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue