From 99d4ae0c1ae5522202d71381b40f55418e7d531a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 5 Oct 2011 22:53:36 +0200 Subject: [PATCH] decoder_api: don't copy tag to pipe during initial seek Fixes one more assertion failure. --- src/decoder_api.c | 11 ++++++++--- 1 file 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; }