aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/decode.c8
-rw-r--r--src/decode.h2
-rw-r--r--src/main.c2
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();