/*
- * Copyright (C) 2005-2012 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
val = header_val;
break;
case CWS_NO_HEADER:
+ /*
+ * No wav header available and no value specified at
+ * the command line. Maybe one of our parent nodes
+ * knows.
+ */
+ if (btr_exec_up(btr_parent(cwc->btrn), cmd, result) >= 0)
+ return 1;
/* Use default value */
val = arg;
break;
uint16_t bps; /* bits per sample */
const char *sample_formats[] = {SAMPLE_FORMATS};
+ if (!btrn)
+ return 0;
ret = btr_node_status(btrn, cwc->min_iqs, BTR_NT_INTERNAL);
if (ret <= 0)
goto out;
}
struct check_wav_context *check_wav_init(struct btr_node *parent,
- struct wav_params *params, struct btr_node **cw_btrn)
+ struct btr_node *child, struct wav_params *params,
+ struct btr_node **cw_btrn)
{
struct check_wav_context *cwc = para_calloc(sizeof(*cwc));
cwc->min_iqs = WAV_HEADER_LEN;
cwc->params = *params;
cwc->btrn = btr_new_node(&(struct btr_node_description)
- EMBRACE(.name = "check_wav", .parent = parent,
+ EMBRACE(.name = "check_wav", .parent = parent, .child = child,
.handler = check_wav_exec, .context = cwc));
if (cw_btrn)
*cw_btrn = cwc->btrn;