opusdec: Fix busy loop.
authorAndre Noll <maan@systemlinux.org>
Sun, 23 Feb 2014 12:44:19 +0000 (13:44 +0100)
committerAndre Noll <maan@systemlinux.org>
Sun, 23 Feb 2014 12:46:08 +0000 (13:46 +0100)
This braino caused the opus decoder to request a minimal timeout
most of the time.

The bug was introduced 2013-09 in commit 14c16b65.

opusdec_filter.c

index c3b405c..56a39bf 100644 (file)
@@ -277,7 +277,7 @@ static void opusdec_pre_select(struct sched *s, struct task *t)
 
        if (ret != 0)
                return sched_min_delay(s);
-       if (ctx->have_more)
+       if (!ctx->have_more)
                return;
        if (btr_get_output_queue_size(fn->btrn) <= OPUSDEC_MAX_OUTPUT_SIZE)
                return sched_min_delay(s);