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().
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user