From fed02825081bd6441f865c9cfcf50e384b2392f5 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Tue, 24 Aug 2021 14:58:07 +0200 Subject: avformat: Avoid allocation for AVFormatInternal Do this by allocating AVFormatContext together with the data that is currently in AVFormatInternal; or rather: Put AVFormatContext at the beginning of a new structure called FFFormatContext (which encompasses more than just the internal fields and is a proper context in its own right, hence the name) and remove AVFormatInternal altogether. The biggest simplifications occured in avformat_alloc_context(), where one can now simply call avformat_free_context() in case of errors. Signed-off-by: Andreas Rheinhardt --- libavformat/flacdec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavformat/flacdec.c') diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c index 2060b48c69..ffa7e38561 100644 --- a/libavformat/flacdec.c +++ b/libavformat/flacdec.c @@ -258,7 +258,8 @@ static int flac_probe(const AVProbeData *p) static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) { - AVPacket *pkt = s->internal->parse_pkt; + FFFormatContext *const si = ffformatcontext(s); + AVPacket *const pkt = si->parse_pkt; AVStream *st = s->streams[stream_index]; AVCodecParserContext *parser; int ret; -- cgit v1.2.3