aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-10-05 22:53:36 +0200
committerMax Kellermann <max@duempel.org>2011-10-05 22:54:30 +0200
commit99d4ae0c1ae5522202d71381b40f55418e7d531a (patch)
tree3a2c65ce21b9f6b9d3f4a162c66eec374d45ad8a /src/decoder
parentf185b35088cc5b1025c3e60b5f72030627e79878 (diff)
downloadmpd-99d4ae0c1ae5522202d71381b40f55418e7d531a.tar.gz
mpd-99d4ae0c1ae5522202d71381b40f55418e7d531a.tar.xz
mpd-99d4ae0c1ae5522202d71381b40f55418e7d531a.zip
decoder_api: don't copy tag to pipe during initial seek
Fixes one more assertion failure.
Diffstat (limited to '')
-rw-r--r--src/decoder_api.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/decoder_api.c b/src/decoder_api.c
index f0ba3b01f..bbe93eef0 100644
--- a/src/decoder_api.c
+++ b/src/decoder_api.c
@@ -438,6 +438,14 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, struct input_stream *is,
update_stream_tag(decoder, is);
+ /* check if we're seeking */
+
+ if (decoder->initial_seek_pending)
+ /* during initial seek, no music chunk must be created
+ until seeking is finished; skip the rest of the
+ function here */
+ return DECODE_COMMAND_SEEK;
+
/* send tag to music pipe */
if (decoder->stream_tag != NULL) {
@@ -451,9 +459,6 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, struct input_stream *is,
/* send only the decoder tag */
cmd = do_send_tag(decoder, is, tag);
- if (cmd == DECODE_COMMAND_NONE)
- cmd = decoder_get_virtual_command(decoder);
-
return cmd;
}