Index: apps/plugins/test_codec.c =================================================================== --- apps/plugins/test_codec.c (revision 18341) +++ apps/plugins/test_codec.c (working copy) @@ -485,6 +485,19 @@ 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) Index: apps/plugin.c =================================================================== --- apps/plugin.c (revision 18341) +++ apps/plugin.c (working copy) @@ -606,6 +606,14 @@ 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 */ Index: apps/plugin.h =================================================================== --- apps/plugin.h (revision 18341) +++ apps/plugin.h (working copy) @@ -763,6 +763,15 @@ 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 */