aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder_control.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-11-03 21:18:22 +0100
committerMax Kellermann <max@duempel.org>2009-11-03 21:18:22 +0100
commit98d30ac9cfdd12c5bb5932145adc7218ff4fca9e (patch)
tree93ac23d35ea4ae6c834f300b9e0000d3e2604b32 /src/decoder_control.h
parent98150f503a808f4bb0d7be343f1a231a4c8ff0dc (diff)
downloadmpd-98d30ac9cfdd12c5bb5932145adc7218ff4fca9e.tar.gz
mpd-98d30ac9cfdd12c5bb5932145adc7218ff4fca9e.tar.xz
mpd-98d30ac9cfdd12c5bb5932145adc7218ff4fca9e.zip
decoder_control: pass pipe and buffer to dc_start()
Don't access decoder_control attributes directly.
Diffstat (limited to 'src/decoder_control.h')
-rw-r--r--src/decoder_control.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/decoder_control.h b/src/decoder_control.h
index 635855e17..38c4f0d83 100644
--- a/src/decoder_control.h
+++ b/src/decoder_control.h
@@ -84,7 +84,10 @@ struct decoder_control {
/** the #music_chunk allocator */
struct music_buffer *buffer;
- /** the destination pipe for decoded chunks */
+ /**
+ * The destination pipe for decoded chunks. The caller thread
+ * owns this object, and is responsible for freeing it.
+ */
struct music_pipe *pipe;
};
@@ -211,8 +214,17 @@ decoder_current_song(const struct decoder_control *dc)
void
dc_command_wait(struct decoder_control *dc);
+/**
+ * Start the decoder.
+ *
+ * @param the decoder
+ * @param song the song to be decoded
+ * @param pipe the pipe which receives the decoded chunks (owned by
+ * the caller)
+ */
void
-dc_start(struct decoder_control *dc, struct song *song);
+dc_start(struct decoder_control *dc, struct song *song,
+ struct music_buffer *buffer, struct music_pipe *pipe);
void
dc_stop(struct decoder_control *dc);