From a0ad96a787d5df3f0cbd0c40252312700320a849 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 10 Jan 2011 21:27:43 +0100 Subject: decoder_control: store GCond object, not a player_control Remove the decoder dependency on player_control. All player_control was needed for is to signal the player thread, and we can do that with a simple GCond as well. --- src/decoder_control.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/decoder_control.c') diff --git a/src/decoder_control.c b/src/decoder_control.c index a570b2441..15f60790f 100644 --- a/src/decoder_control.c +++ b/src/decoder_control.c @@ -19,7 +19,6 @@ #include "config.h" #include "decoder_control.h" -#include "player_control.h" #include "pipe.h" #include @@ -28,15 +27,15 @@ #define G_LOG_DOMAIN "decoder_control" struct decoder_control * -dc_new(struct player_control *pc) +dc_new(GCond *client_cond) { struct decoder_control *dc = g_new(struct decoder_control, 1); - dc->player_control = pc; dc->thread = NULL; dc->mutex = g_mutex_new(); dc->cond = g_cond_new(); + dc->client_cond = client_cond; dc->state = DECODE_STATE_STOP; dc->command = DECODE_COMMAND_NONE; @@ -65,7 +64,7 @@ static void dc_command_wait_locked(struct decoder_control *dc) { while (dc->command != DECODE_COMMAND_NONE) - player_wait_decoder(dc->player_control, dc); + g_cond_wait(dc->client_cond, dc->mutex); } static void -- cgit v1.2.3