]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - opusdec_filter.c
task_register() conversion: audiod status task
[paraslash.git] / opusdec_filter.c
index d7489859556d111e12fc20c43785c517c033b144..292d83c9f960ce1332e029c4addd231a8e7f7cb1 100644 (file)
@@ -209,7 +209,7 @@ static int decode_packet(struct opusdec_context *ctx, ogg_packet *op,
 
 static int opusdec_post_select(__a_unused struct sched *s, struct task *t)
 {
-       struct filter_node *fn = container_of(t, struct filter_node, task);
+       struct filter_node *fn = task_context(t);
        struct opusdec_context *ctx = fn->private_data;
        struct btr_node *btrn = fn->btrn;
        int ret;
@@ -271,13 +271,13 @@ out:
 
 static void opusdec_pre_select(struct sched *s, struct task *t)
 {
-       struct filter_node *fn = container_of(t, struct filter_node, task);
+       struct filter_node *fn = task_context(t);
        struct opusdec_context *ctx = fn->private_data;
        int ret = btr_node_status(fn->btrn, fn->min_iqs, BTR_NT_INTERNAL);
 
        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);