diff --git a/lib/c/2014/labcomm2014_renaming_decoder.c b/lib/c/2014/labcomm2014_renaming_decoder.c index acd8d35b90a7696e35324ab61b139e6d2922be34..4243438aedfe7a90e355118246a6c2f80ac9f050 100644 --- a/lib/c/2014/labcomm2014_renaming_decoder.c +++ b/lib/c/2014/labcomm2014_renaming_decoder.c @@ -147,6 +147,13 @@ static int do_ioctl(struct labcomm2014_decoder *d, ioctl_action, args); } +static int do_decode_one(struct labcomm2014_decoder *d) +{ + struct decoder *id = d->context; + + return id->next->decode_one(id->next); +} + static const struct labcomm2014_sample_ref *do_index_to_sample_ref( struct labcomm2014_decoder *d, int index) { @@ -201,12 +208,12 @@ struct labcomm2014_decoder *labcomm2014_renaming_decoder_new( return NULL; } else { result->decoder.context = result; - result->decoder.reader = NULL; + result->decoder.reader = d->reader; result->decoder.error = d->error; result->decoder.memory = d->memory; result->decoder.scheduler = d->scheduler; result->decoder.free = do_free; - result->decoder.decode_one = d->decode_one; + result->decoder.decode_one = do_decode_one; result->decoder.sample_register = do_sample_register; result->decoder.ref_register = do_ref_register; result->decoder.ioctl = do_ioctl; diff --git a/lib/c/2014/labcomm2014_renaming_encoder.c b/lib/c/2014/labcomm2014_renaming_encoder.c index feaa330147bb2777c188c85f3d5129daf4f7c2ac..b84eaaf11307d4b74f99a7a1acc3c260b141cff1 100644 --- a/lib/c/2014/labcomm2014_renaming_encoder.c +++ b/lib/c/2014/labcomm2014_renaming_encoder.c @@ -263,7 +263,7 @@ struct labcomm2014_encoder *labcomm2014_renaming_encoder_new( return NULL; } else { result->encoder.context = result; - result->encoder.writer = NULL; + result->encoder.writer = e->writer; result->encoder.error = e->error; result->encoder.memory = e->memory; result->encoder.scheduler = e->scheduler;