aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--src/decoder_api.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 3202bc05e..1f19983a7 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
ver 0.16.8 (2012/??/??)
* fix for libsamplerate assertion failure
+* decoder:
+ - vorbis (and others): fix seeking at startup
ver 0.16.7 (2012/02/04)
diff --git a/src/decoder_api.c b/src/decoder_api.c
index 695ca0281..19de47855 100644
--- a/src/decoder_api.c
+++ b/src/decoder_api.c
@@ -89,6 +89,12 @@ decoder_prepare_initial_seek(struct decoder *decoder)
const struct decoder_control *dc = decoder->dc;
assert(dc->pipe != NULL);
+ if (dc->state != DECODE_STATE_DECODE)
+ /* wait until the decoder has finished initialisation
+ (reading file headers etc.) before emitting the
+ virtual "SEEK" command */
+ return false;
+
if (decoder->initial_seek_running)
/* initial seek has already begun - override any other
command */