Introduce per group slice sizes.
[paraslash.git] / audiod.c
index 5c17e6eab1337d8b23584faa67f443cd4f11a200..89b160db527ae9397a2bd2b216b304d6c4c8920f 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -358,6 +358,8 @@ static void close_receiver(int slot_num)
        btr_free_node(s->receiver_node->btrn);
        free(s->receiver_node);
        s->receiver_node = NULL;
+       tv_add(now, &(struct timeval)EMBRACE(0, 200 * 1000),
+               &a->restart_barrier);
 }
 
 static void writer_cleanup(struct writer_node *wn)
@@ -1220,6 +1222,8 @@ static void status_post_select(__a_unused struct sched *s, struct task *t)
                        st->min_iqs = sz + 1;
                goto out;
        }
+       btr_drain(st->btrn);
+       st->current_audio_format_num = -1;
        if (tv_diff(now, &st->restart_barrier, NULL) < 0)
                goto out;
        if (st->clock_diff_count) { /* get status only one time */