From dfecdabf4aa13e3587b7c73be0f051693dab4d20 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Thu, 31 Dec 2009 05:27:38 +0100 Subject: [PATCH] btr_slice_out_node() cleanup. --- buffer_tree.c | 8 +++----- buffer_tree.h | 2 +- wav_filter.c | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/buffer_tree.c b/buffer_tree.c index 1bc95298..b7420ebe 100644 --- a/buffer_tree.c +++ b/buffer_tree.c @@ -225,15 +225,13 @@ size_t btr_get_input_queue_size(struct btr_node *btrn) return size; } -int btr_splice_out_node(struct btr_node *btrn) +void btr_splice_out_node(struct btr_node *btrn) { struct btr_node *ch, *tmp; - if (!btrn) - return -ERRNO_TO_PARA_ERROR(EINVAL); - if (btr_get_input_queue_size(btrn) != 0) - return -ERRNO_TO_PARA_ERROR(EINVAL); + assert(btrn); PARA_NOTICE_LOG("splicing out %s\n", btrn->name); + btr_pushdown(btrn); if (btrn->parent) list_del(&btrn->node); FOR_EACH_CHILD_SAFE(ch, tmp, btrn) { diff --git a/buffer_tree.h b/buffer_tree.h index 927d3b67..468b10d1 100644 --- a/buffer_tree.h +++ b/buffer_tree.h @@ -16,7 +16,7 @@ size_t btr_next_buffer(struct btr_node *btrn, char **bufp); void btr_consume(struct btr_node *btrn, size_t numbytes); int btr_exec(struct btr_node *btrn, const char *command, char **value_result); int btr_exec_up(struct btr_node *btrn, const char *command, char **value_result); -int btr_splice_out_node(struct btr_node *btrn); +void btr_splice_out_node(struct btr_node *btrn); void btr_pushdown(struct btr_node *btrn); void *btr_context(struct btr_node *btrn); int btr_merge(struct btr_node *btrn); diff --git a/wav_filter.c b/wav_filter.c index 7a3c59bf..91d87e7a 100644 --- a/wav_filter.c +++ b/wav_filter.c @@ -147,13 +147,12 @@ static void wav_post_select(__a_unused struct sched *s, struct task *t) header = para_malloc(WAV_HEADER_LEN); make_wav_header(ch, rate, header); btr_add_output(header, WAV_HEADER_LEN, btrn); - btr_pushdown(btrn); ret = -E_WAV_SUCCESS; err: t->error = ret; wav_close(fn); if (ret == -E_WAV_SUCCESS) - ret = btr_splice_out_node(btrn); + btr_splice_out_node(btrn); else { btr_del_node(btrn); PARA_ERROR_LOG("%s\n", para_strerror(-ret)); -- 2.39.2