diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-06-22 04:48:49 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-07-04 19:19:34 +0200 |
commit | e40ad1c0d4299d0450dd6b53e01e704fc98b18d8 (patch) | |
tree | 958654ab489ac5ad4a35ac46564606aaf355f6d3 | |
parent | 638ef5f75896e60dc437d0955ced3cb1901a5e25 (diff) | |
download | ffmpeg-e40ad1c0d4299d0450dd6b53e01e704fc98b18d8.tar.gz |
avformat/smacker: Use st->priv_data to store array
It simplifies freeing and allows to completely remove smacker_read_close.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavformat/smacker.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/libavformat/smacker.c b/libavformat/smacker.c index 201372aee6..2e4a499a13 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -205,10 +205,11 @@ static int smacker_read_header(AVFormatContext *s) avio_rl32(pb); /* padding */ /* setup data */ - smk->frm_size = av_malloc_array(smk->frames, sizeof(*smk->frm_size) + + st->priv_data = av_malloc_array(smk->frames, sizeof(*smk->frm_size) + sizeof(*smk->frm_flags)); - if (!smk->frm_size) + if (!st->priv_data) return AVERROR(ENOMEM); + smk->frm_size = st->priv_data; smk->frm_flags = (void*)(smk->frm_size + smk->frames); /* read frame info */ @@ -219,7 +220,6 @@ static int smacker_read_header(AVFormatContext *s) /* load trees to extradata, they will be unpacked by decoder */ (ret = ffio_read_size(pb, par->extradata + 16, par->extradata_size - 16)) < 0) { - av_freep(&smk->frm_size); return ret; } @@ -351,15 +351,6 @@ next_frame: return ret; } -static int smacker_read_close(AVFormatContext *s) -{ - SmackerContext *smk = s->priv_data; - - av_freep(&smk->frm_size); - - return 0; -} - AVInputFormat ff_smacker_demuxer = { .name = "smk", .long_name = NULL_IF_CONFIG_SMALL("Smacker"), @@ -367,5 +358,4 @@ AVInputFormat ff_smacker_demuxer = { .read_probe = smacker_probe, .read_header = smacker_read_header, .read_packet = smacker_read_packet, - .read_close = smacker_read_close, }; |