play: Switch to the alternative post select method.
[paraslash.git] / play.c
diff --git a/play.c b/play.c
index 5794b95..50db73a 100644 (file)
--- a/play.c
+++ b/play.c
@@ -1207,7 +1207,7 @@ static unsigned get_time_string(struct play_task *pt, char **result)
        );
 }
 
-static void play_post_select(struct sched *s, struct task *t)
+static int play_post_select(struct sched *s, struct task *t)
 {
        struct play_task *pt = container_of(t, struct play_task, task);
        int ret;
@@ -1215,7 +1215,7 @@ static void play_post_select(struct sched *s, struct task *t)
        ret = eof_cleanup(pt);
        if (ret < 0) {
                pt->rq = CRT_TERM_RQ;
-               return;
+               return 0;
        }
        ret = session_post_select(s, t);
        if (ret < 0)
@@ -1245,7 +1245,7 @@ static void play_post_select(struct sched *s, struct task *t)
        }
        ret = 1;
 out:
-       t->error = ret;
+       return ret;
 }
 
 /**
@@ -1282,7 +1282,8 @@ int main(int argc, char *argv[])
        pt->current_file = conf.inputs_num - 1;
        pt->playing = true;
        pt->task.pre_select = play_pre_select;
-       pt->task.post_select = play_post_select;
+       pt->task.new_post_select = play_post_select;
+       pt->task.post_select = NULL;
        sprintf(pt->task.status, "play task");
        register_task(&sched, &pt->task);
        ret = schedule(&sched);