diff options
author | Max Kellermann <max@duempel.org> | 2009-11-03 21:08:48 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2011-01-10 19:46:23 +0100 |
commit | b6995ca0113611613d311250eabfc354658d46a7 (patch) | |
tree | 713bff7fe8b8dcbd48b2ea67f95e3ec9e018104b /src/decoder_control.h | |
parent | 715844fd089d3baf17d7080b47434fca8fb60b1d (diff) | |
download | mpd-b6995ca0113611613d311250eabfc354658d46a7.tar.gz mpd-b6995ca0113611613d311250eabfc354658d46a7.tar.xz mpd-b6995ca0113611613d311250eabfc354658d46a7.zip |
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 '')
-rw-r--r-- | src/decoder_control.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/decoder_control.h b/src/decoder_control.h index 449e974b7..fafc6dea3 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); |