]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - opusdec_filter.c
Merge branch 'refs/heads/t/play_fix'
[paraslash.git] / opusdec_filter.c
index d7489859556d111e12fc20c43785c517c033b144..4e69a46efaf535405d0d3016ced360e6cf33c550 100644 (file)
@@ -207,9 +207,9 @@ static int decode_packet(struct opusdec_context *ctx, ogg_packet *op,
 
 #define OPUSDEC_MAX_OUTPUT_SIZE (1024 * 1024)
 
-static int opusdec_post_select(__a_unused struct sched *s, struct task *t)
+static int opusdec_post_select(__a_unused struct sched *s, void *context)
 {
-       struct filter_node *fn = container_of(t, struct filter_node, task);
+       struct filter_node *fn = context;
        struct opusdec_context *ctx = fn->private_data;
        struct btr_node *btrn = fn->btrn;
        int ret;
@@ -269,15 +269,15 @@ out:
        return ret;
 }
 
-static void opusdec_pre_select(struct sched *s, struct task *t)
+static void opusdec_pre_select(struct sched *s, void *context)
 {
-       struct filter_node *fn = container_of(t, struct filter_node, task);
+       struct filter_node *fn = context;
        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);