diff options
Diffstat (limited to 'src/player_thread.c')
-rw-r--r-- | src/player_thread.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/player_thread.c b/src/player_thread.c index d51263477..6be7b8884 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -1023,10 +1023,9 @@ static gpointer player_task(gpointer arg) { struct player_control *pc = arg; - struct decoder_control dc; - dc_init(&dc, pc); - decoder_thread_start(&dc); + struct decoder_control *dc = dc_new(pc); + decoder_thread_start(dc); player_buffer = music_buffer_new(pc->buffer_chunks); @@ -1037,7 +1036,7 @@ player_task(gpointer arg) case PLAYER_COMMAND_QUEUE: assert(pc->next_song != NULL); - do_play(pc, &dc); + do_play(pc, dc); break; case PLAYER_COMMAND_STOP: @@ -1081,8 +1080,8 @@ player_task(gpointer arg) case PLAYER_COMMAND_EXIT: player_unlock(pc); - dc_quit(&dc); - dc_deinit(&dc); + dc_quit(dc); + dc_free(dc); audio_output_all_close(); music_buffer_free(player_buffer); |