aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder_control.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-10-05 22:37:59 +0200
committerMax Kellermann <max@duempel.org>2011-10-05 23:15:22 +0200
commit64b0ba6da7975fdde774f188b1647ab6c9024cfa (patch)
treea27f708b535cf488d626480750d87e7124e36b2f /src/decoder_control.h
parent99d4ae0c1ae5522202d71381b40f55418e7d531a (diff)
downloadmpd-64b0ba6da7975fdde774f188b1647ab6c9024cfa.tar.gz
mpd-64b0ba6da7975fdde774f188b1647ab6c9024cfa.tar.xz
mpd-64b0ba6da7975fdde774f188b1647ab6c9024cfa.zip
decoder_control: add attributes start_ms, end_ms
Don't read song.start_ms and song.end_ms, let the player thread manage this logic instead.
Diffstat (limited to 'src/decoder_control.h')
-rw-r--r--src/decoder_control.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/decoder_control.h b/src/decoder_control.h
index 449e974b7..64c7c302e 100644
--- a/src/decoder_control.h
+++ b/src/decoder_control.h
@@ -79,6 +79,23 @@ struct decoder_control {
*/
const struct song *song;
+ /**
+ * The initial seek position (in milliseconds), e.g. to the
+ * start of a sub-track described by a CUE file.
+ *
+ * This attribute is set by dc_start().
+ */
+ unsigned start_ms;
+
+ /**
+ * The decoder will stop when it reaches this position (in
+ * milliseconds). 0 means don't stop before the end of the
+ * file.
+ *
+ * This attribute is set by dc_start().
+ */
+ unsigned end_ms;
+
float total_time;
/** the #music_chunk allocator */
@@ -225,11 +242,14 @@ dc_command_wait(struct decoder_control *dc);
*
* @param the decoder
* @param song the song to be decoded
+ * @param start_ms see #decoder_control
+ * @param end_ms see #decoder_control
* @param pipe the pipe which receives the decoded chunks (owned by
* the caller)
*/
void
dc_start(struct decoder_control *dc, struct song *song,
+ unsigned start_ms, unsigned end_ms,
struct music_buffer *buffer, struct music_pipe *pipe);
void