diff --git a/src/examples/export-sink.c b/src/examples/export-sink.c index f390aa32b..89389d162 100644 --- a/src/examples/export-sink.c +++ b/src/examples/export-sink.c @@ -247,8 +247,10 @@ static int impl_port_set_io(struct spa_node *node, if (id == d->t->io.Buffers) d->io = data; else if (id == d->type.io_prop_param) { - d->ctrl_param = data; - *d->ctrl_param = SPA_POD_DOUBLE_INIT(DEFAULT_PARAM); + if (data && size >= sizeof(struct spa_pod_double)) + d->ctrl_param = data; + else + d->ctrl_param = NULL; } else return -ENOENT; diff --git a/src/examples/export-source.c b/src/examples/export-source.c index 459c75520..034a3206f 100644 --- a/src/examples/export-source.c +++ b/src/examples/export-source.c @@ -162,8 +162,10 @@ static int impl_port_set_io(struct spa_node *node, enum spa_direction direction, if (id == d->t->io.Buffers) d->io = data; else if (id == d->type.io_prop_volume) { - d->ctrl_volume = data; - *d->ctrl_volume = SPA_POD_DOUBLE_INIT(1.0); + if (data && size >= sizeof(struct spa_pod_double)) + d->ctrl_volume = data; + else + d->ctrl_volume = NULL; } else return -ENOENT;