Commit 915d1d07 authored by Max Kellermann's avatar Max Kellermann

decoder_thread: eliminate jitter after seek failure

Don't clear the music pipe when seeking has failed - check the "seeking" flag instead of "command==SEEK". Clear the "seeking" flag in decoder_seek_error().
parent 8a6d448a
......@@ -8,6 +8,7 @@ ver 0.15.7 (2009/??/??)
* tags:
- id3: fix ID3v1 charset conversion
* decoders:
- eliminate jitter after seek failure
- ffmpeg: don't try to force stereo
- wavpack: allow fine-grained seeking
* mixer: explicitly close all mixers on shutdown
......
......@@ -93,7 +93,9 @@ void decoder_command_finished(G_GNUC_UNUSED struct decoder * decoder)
dc.seek_error || decoder->seeking);
assert(dc.pipe != NULL);
if (dc.command == DECODE_COMMAND_SEEK) {
if (decoder->seeking) {
decoder->seeking = false;
/* delete frames from the old song position */
if (decoder->chunk != NULL) {
......@@ -124,6 +126,8 @@ void decoder_seek_error(struct decoder * decoder)
assert(dc.pipe != NULL);
dc.seek_error = true;
decoder->seeking = false;
decoder_command_finished(decoder);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment