From e91edf9aed3fde6f0038d7db8acfc1653d8fe9d7 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 14 Nov 2013 19:51:09 +0100 Subject: demux: use talloc for certain stream headers Slightly simplifies memory management. This might make adding a demuxer cache wrapper easier at a later point, because you can just copy the complete stream header, without worrying that the wrapper will free the individual stream header fields. --- demux/demux.c | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) (limited to 'demux/demux.c') diff --git a/demux/demux.c b/demux/demux.c index da5957efdd..af00e81676 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -273,34 +273,6 @@ struct sh_stream *new_sh_stream(demuxer_t *demuxer, enum stream_type type) return sh; } -static void free_sh_sub(sh_sub_t *sh) -{ - free(sh->extradata); -} - -static void free_sh_audio(sh_audio_t *sh) -{ - free(sh->wf); - free(sh->codecdata); -} - -static void free_sh_video(sh_video_t *sh) -{ - free(sh->bih); -} - -static void free_sh_stream(struct sh_stream *sh) -{ - ds_free_packs(sh->ds); - - switch (sh->type) { - case STREAM_AUDIO: free_sh_audio(sh->audio); break; - case STREAM_VIDEO: free_sh_video(sh->video); break; - case STREAM_SUB: free_sh_sub(sh->sub); break; - default: abort(); - } -} - void free_demuxer(demuxer_t *demuxer) { if (!demuxer) @@ -309,7 +281,7 @@ void free_demuxer(demuxer_t *demuxer) demuxer->desc->close(demuxer); // free streams: for (int n = 0; n < demuxer->num_streams; n++) - free_sh_stream(demuxer->streams[n]); + ds_free_packs(demuxer->streams[n]->ds); talloc_free(demuxer); } -- cgit v1.2.3