aboutsummaryrefslogtreecommitdiff
path: root/src/decoder_control.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-11-03 21:08:48 +0100
committerMax Kellermann <max@duempel.org>2011-01-10 19:46:23 +0100
commitb6995ca0113611613d311250eabfc354658d46a7 (patch)
tree713bff7fe8b8dcbd48b2ea67f95e3ec9e018104b /src/decoder_control.h
parent715844fd089d3baf17d7080b47434fca8fb60b1d (diff)
player_control: removed the global variable "pc"
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
Diffstat (limited to 'src/decoder_control.h')
-rw-r--r--src/decoder_control.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/decoder_control.h b/src/decoder_control.h
index 449e974b..fafc6dea 100644
--- a/src/decoder_control.h
+++ b/src/decoder_control.h
@@ -27,6 +27,8 @@
#include <assert.h>
+struct player_control;
+
enum decoder_state {
DECODE_STATE_STOP = 0,
DECODE_STATE_START,
@@ -42,6 +44,12 @@ enum decoder_state {
};
struct decoder_control {
+ /**
+ * The player thread which calls us. This pointer is used to
+ * signal command completion.
+ */
+ struct player_control *player_control;
+
/** the handle of the decoder thread, or NULL if the decoder
thread isn't running */
GThread *thread;
@@ -98,7 +106,7 @@ struct decoder_control {
};
void
-dc_init(struct decoder_control *dc);
+dc_init(struct decoder_control *dc, struct player_control *pc);
void
dc_deinit(struct decoder_control *dc);