diff options
Diffstat (limited to '')
-rw-r--r-- | src/decode.c | 8 | ||||
-rw-r--r-- | src/decode.h | 2 | ||||
-rw-r--r-- | src/main.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/decode.c b/src/decode.c index 023dbaaac..4ed0b6151 100644 --- a/src/decode.c +++ b/src/decode.c @@ -323,11 +323,11 @@ stop_no_close: dc->stop = 0; } -static void * decoder_task(mpd_unused void *unused) +static void * decoder_task(void *arg) { + DecoderControl *dc = arg; OutputBuffer *cb = &(getPlayerData()->buffer); PlayerControl *pc = &(getPlayerData()->playerControl); - DecoderControl * dc = &(getPlayerData()->decoderControl); notifyEnter(&dc->notify); @@ -344,14 +344,14 @@ static void * decoder_task(mpd_unused void *unused) } } -void decoderInit(void) +void decoderInit(DecoderControl * dc) { pthread_attr_t attr; pthread_t decoder_thread; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - if (pthread_create(&decoder_thread, &attr, decoder_task, NULL)) + if (pthread_create(&decoder_thread, &attr, decoder_task, dc)) FATAL("Failed to spawn decoder task: %s\n", strerror(errno)); } diff --git a/src/decode.h b/src/decode.h index 32da5ec3d..84aa8efb4 100644 --- a/src/decode.h +++ b/src/decode.h @@ -57,6 +57,6 @@ void decoder_wakeup_player(void); void decoder_sleep(DecoderControl * dc); -void decoderInit(void); +void decoderInit(DecoderControl * dc); #endif diff --git a/src/main.c b/src/main.c index d20a187d4..d3cc35924 100644 --- a/src/main.c +++ b/src/main.c @@ -443,7 +443,7 @@ int main(int argc, char *argv[]) initZeroconf(); openVolumeDevice(); - decoderInit(); + decoderInit(&getPlayerData()->decoderControl); playerInit(&getPlayerData()->playerControl); read_state_file(); |