X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=play.c;h=9639501069baaed4e3a396eb03f98813a0380584;hp=5794b9529a037cef913da03cdd86078cad96ea55;hb=74c88020bd325865fe26ed25ea8ad0ace0924136;hpb=9c00a79ed817c854ed10ee6bd1b908df8dc13a2f diff --git a/play.c b/play.c index 5794b952..96395010 100644 --- a/play.c +++ b/play.c @@ -368,13 +368,7 @@ static int open_new_file(struct play_task *pt) tmp = NULL; } pt->rn.task.pre_select = afh_recv->pre_select; - if (afh_recv->new_post_select) { - pt->rn.task.new_post_select = afh_recv->new_post_select; - pt->rn.task.post_select = NULL; - } else { - pt->rn.task.post_select = NULL; - pt->rn.task.new_post_select = afh_recv->new_post_select; - } + pt->rn.task.new_post_select = afh_recv->new_post_select; sprintf(pt->rn.task.status, "%s receiver node", afh_recv->name); return 1; fail: @@ -415,13 +409,7 @@ static int load_file(struct play_task *pt) pt->fn.filter_num = ret; decoder = filters + ret; pt->fn.task.pre_select = decoder->pre_select; - if (decoder->new_post_select) { - pt->fn.task.new_post_select = decoder->new_post_select; - pt->fn.task.post_select = NULL; - } else { - pt->fn.task.new_post_select = NULL; - pt->fn.task.post_select = decoder->post_select; - } + pt->fn.task.new_post_select = decoder->new_post_select; sprintf(pt->fn.task.status, "%s decoder", af); pt->fn.btrn = btr_new_node(&(struct btr_node_description) EMBRACE(.name = decoder->name, .parent = pt->rn.btrn, @@ -1207,7 +1195,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 +1203,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 +1233,7 @@ static void play_post_select(struct sched *s, struct task *t) } ret = 1; out: - t->error = ret; + return ret; } /** @@ -1282,7 +1270,7 @@ 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; sprintf(pt->task.status, "play task"); register_task(&sched, &pt->task); ret = schedule(&sched);