diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-03-16 05:11:22 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-03-21 05:42:41 +0200 |
commit | 4b33422c7b004f31eb8fb1962231f69ab6f18445 (patch) | |
tree | 2fb4898727a6a36d4dc4e946521faa5c24a2d691 | |
parent | e177fc3e8be6ab572f53da21135018fcee340c74 (diff) |
Allocate struct demuxer with talloc
Makes it possible to add data to it without explicit freeing code.
-rw-r--r-- | libmpdemux/demux_demuxers.c | 3 | ||||
-rw-r--r-- | libmpdemux/demuxer.c | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/libmpdemux/demux_demuxers.c b/libmpdemux/demux_demuxers.c index a5f87e601b..dc04ecffd0 100644 --- a/libmpdemux/demux_demuxers.c +++ b/libmpdemux/demux_demuxers.c @@ -8,6 +8,7 @@ #include "stream/stream.h" #include "demuxer.h" #include "stheader.h" +#include "talloc.h" typedef struct dd_priv { demuxer_t* vd; @@ -21,7 +22,7 @@ demuxer_t* new_demuxers_demuxer(demuxer_t* vd, demuxer_t* ad, demuxer_t* sd) { demuxer_t* ret; dd_priv_t* priv; - ret = calloc(1,sizeof(demuxer_t)); + ret = talloc_zero(NULL, struct demuxer); priv = malloc(sizeof(dd_priv_t)); priv->vd = vd; diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 4347feee0b..9d0e01450f 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -10,6 +10,7 @@ #include "config.h" #include "options.h" +#include "talloc.h" #include "mp_msg.h" #include "help_mp.h" #include "m_config.h" @@ -216,8 +217,7 @@ static const demuxer_desc_t *get_demuxer_desc_from_type(int file_format) demuxer_t *new_demuxer(struct MPOpts *opts, stream_t *stream, int type, int a_id, int v_id, int s_id, char *filename) { - demuxer_t *d = malloc(sizeof(demuxer_t)); - memset(d, 0, sizeof(demuxer_t)); + struct demuxer *d = talloc_zero(NULL, struct demuxer); d->stream = stream; d->stream_pts = MP_NOPTS_VALUE; d->reference_clock = MP_NOPTS_VALUE; @@ -386,7 +386,7 @@ void free_demuxer(demuxer_t *demuxer) } free(demuxer->attachments); } - free(demuxer); + talloc_free(demuxer); } |