diff options
author | Max Kellermann <max@duempel.org> | 2011-10-05 22:53:36 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2011-10-05 22:54:30 +0200 |
commit | 99d4ae0c1ae5522202d71381b40f55418e7d531a (patch) | |
tree | 3a2c65ce21b9f6b9d3f4a162c66eec374d45ad8a /src/decoder | |
parent | f185b35088cc5b1025c3e60b5f72030627e79878 (diff) | |
download | mpd-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.c | 11 |
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; } |