summaryrefslogtreecommitdiff
path: root/modules/rst/audio.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/rst/audio.c')
-rw-r--r--modules/rst/audio.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/modules/rst/audio.c b/modules/rst/audio.c
index 9fbfe26..2eca230 100644
--- a/modules/rst/audio.c
+++ b/modules/rst/audio.c
@@ -17,7 +17,7 @@
struct ausrc_st {
- struct ausrc *as;
+ const struct ausrc *as; /* pointer to base-class (inheritance) */
pthread_t thread;
struct rst *rst;
mpg123_handle *mp3;
@@ -52,7 +52,6 @@ static void destructor(void *arg)
}
mem_deref(st->aubuf);
- mem_deref(st->as);
}
@@ -149,7 +148,7 @@ void rst_audio_feed(struct ausrc_st *st, const uint8_t *buf, size_t sz)
}
-static int alloc_handler(struct ausrc_st **stp, struct ausrc *as,
+static int alloc_handler(struct ausrc_st **stp, const struct ausrc *as,
struct media_ctx **ctx,
struct ausrc_prm *prm, const char *dev,
ausrc_read_h *rh, ausrc_error_h *errh, void *arg)
@@ -164,7 +163,7 @@ static int alloc_handler(struct ausrc_st **stp, struct ausrc *as,
if (!st)
return ENOMEM;
- st->as = mem_ref(as);
+ st->as = as;
st->rh = rh;
st->errh = errh;
st->arg = arg;