X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=8f6f3560ee37cb6cbb927630bb583937d51693db;hp=0c8ee2875873ef5c86b392448d0c80e6ec6e4540;hb=8cec3d1edb26b4861e2b5bdbb9f70241cdd7f03b;hpb=f23be61d476e3f354e31072da0e0e77050a8dc56 diff --git a/audiod.c b/audiod.c index 0c8ee287..8f6f3560 100644 --- a/audiod.c +++ b/audiod.c @@ -499,8 +499,22 @@ static void kill_all_decoders(void) FOR_EACH_SLOT(i) { struct slot_info *s = &slot[i]; - if (s->receiver_node) + if (s->wng && !s->wng->eof) { + PARA_INFO_LOG("unregistering writer node group in slot %d\n", + i); + wng_unregister(s->wng); + s->wng->eof = 1; + } + if (s->fc && !s->fc->eof) { + PARA_INFO_LOG("unregistering filter chain in slot %d\n", i); + unregister_task(&s->fc->task); + s->fc->eof = 1; + } + if (s->receiver_node && !s->receiver_node->eof) { + PARA_INFO_LOG("unregistering receiver_node in slot %d\n", i); + unregister_task(&s->receiver_node->task); s->receiver_node->eof = 1; + } } } @@ -670,10 +684,6 @@ static void wng_event_handler(struct task *t) struct slot_info *s = &slot[i]; if (s->wng != wng) continue; -// if (s->fc) -// s->fc->eof = 1; -// if (s->receiver_node) -// s->receiver_node->eof = 1; PARA_INFO_LOG("slot %d: %s\n", i, PARA_STRERROR(-t->ret)); } }