From 1f1c1563324284b9ca4249d931023e0df6c4f077 Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Mon, 25 May 2015 21:54:02 +0200 Subject: [PATCH] Bug fixes to renaming encoders/decoders --- lib/c/2014/labcomm2014_renaming_decoder.c | 11 +++++++++-- lib/c/2014/labcomm2014_renaming_encoder.c | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/c/2014/labcomm2014_renaming_decoder.c b/lib/c/2014/labcomm2014_renaming_decoder.c index acd8d35..4243438 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 feaa330..b84eaaf 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; -- GitLab