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) {
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);
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));