summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-03-16 05:11:22 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-03-21 05:42:41 +0200
commit4b33422c7b004f31eb8fb1962231f69ab6f18445 (patch)
tree2fb4898727a6a36d4dc4e946521faa5c24a2d691
parente177fc3e8be6ab572f53da21135018fcee340c74 (diff)
downloadmpv-4b33422c7b004f31eb8fb1962231f69ab6f18445.tar.bz2
mpv-4b33422c7b004f31eb8fb1962231f69ab6f18445.tar.xz
Allocate struct demuxer with talloc
Makes it possible to add data to it without explicit freeing code.
-rw-r--r--libmpdemux/demux_demuxers.c3
-rw-r--r--libmpdemux/demuxer.c6
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);
}