/*
- * Copyright (C) 2012 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
/** \file play.c Paraslash's standalone player. */
#include <regex.h>
-#include <sys/time.h>
#include <fnmatch.h>
#include <signal.h>
tmp = NULL;
}
pt->rn.task.pre_select = afh_recv->pre_select;
- pt->rn.task.post_select = afh_recv->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:
pt->fn.filter_num = ret;
decoder = filters + ret;
pt->fn.task.pre_select = decoder->pre_select;
- 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,
);
}
-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;
ret = eof_cleanup(pt);
if (ret < 0) {
pt->rq = CRT_TERM_RQ;
- return;
+ return 0;
}
ret = session_post_select(s, t);
if (ret < 0)
}
ret = 1;
out:
- t->error = ret;
+ return ret;
}
/**
filter_init();
writer_init();
- gettimeofday(now, NULL);
+ clock_get_realtime(now);
sched.default_timeout.tv_sec = 5;
parse_config_or_die(argc, 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);