Merged release 0.15.7 from branch 'v0.15.x'
Conflicts: NEWS configure.ac src/decoder_api.c
This commit is contained in:
@@ -268,7 +268,6 @@ visitTag(struct client *client, struct strset *set,
|
||||
for (unsigned i = 0; i < tag->num_items; i++) {
|
||||
if (tag->items[i]->type == tagType) {
|
||||
strset_add(set, tag->items[i]->value);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -201,10 +201,9 @@ wavpack_decode(struct decoder *decoder, WavpackContext *wpc, bool can_seek,
|
||||
do {
|
||||
if (decoder_get_command(decoder) == DECODE_COMMAND_SEEK) {
|
||||
if (can_seek) {
|
||||
int where;
|
||||
unsigned where = decoder_seek_where(decoder) *
|
||||
audio_format.sample_rate;
|
||||
|
||||
where = decoder_seek_where(decoder);
|
||||
where *= audio_format.sample_rate;
|
||||
if (WavpackSeekSample(wpc, where)) {
|
||||
decoder_command_finished(decoder);
|
||||
} else {
|
||||
|
@@ -107,7 +107,9 @@ decoder_command_finished(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) {
|
||||
@@ -146,6 +148,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