return result;
}
-
static void wipe_receiver_node(void)
{
PARA_NOTICE_LOG("cleaning up receiver node\n");
int i, j = pt->current_file;
unsigned num_inputs = lls_num_inputs(play_lpr);
+ if (j == num_inputs - 1) {
+ switch (OPT_UINT32_VAL(END_OF_PLAYLIST)) {
+ case EOP_LOOP: break;
+ case EOP_STOP:
+ pt->playing = false;
+ return 0;
+ case EOP_QUIT: return -E_EOP;
+ }
+ }
for (i = 0; i < num_inputs; i++) {
j = (j + 1) % num_inputs;
if (!pt->invalid[j])
int ret;
unsigned num_inputs;
- /* needed this early to make help work */
- recv_init();
-
sched.default_timeout.tv_sec = 5;
parse_config_or_die(argc, argv);
- AFH_RECV->init();
session_open();
num_inputs = lls_num_inputs(play_lpr);
init_shuffle_map();
pt->invalid = para_calloc(sizeof(*pt->invalid) * num_inputs);
pt->rq = CRT_FILE_CHANGE;
- pt->current_file = num_inputs - 1;
pt->playing = true;
pt->task = task_register(&(struct task_info){
.name = "play",