diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-08-26 21:08:23 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-08-30 16:12:22 +0200 |
commit | 6e0823ab83056e1a0905c64568738b7f2fb14f4d (patch) | |
tree | 2eaaba074e5cfab1a69c44331a1f20c277e64788 /libavformat/utils.c | |
parent | 10646d30a3637d1bd0a563c025caea31f81b27d3 (diff) |
avformat/utils: Allocate AVStream.info only for input streams
This structure is only used for demuxers (mostly in
avformat_find_stream_info()), so only allocate it for them.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r-- | libavformat/utils.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index 8cbe2a0278..78bfb36cd0 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -4368,10 +4368,6 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c) if (!st->internal) goto fail; - st->internal->info = av_mallocz(sizeof(*st->internal->info)); - if (!st->internal->info) - goto fail; - st->codecpar = avcodec_parameters_alloc(); if (!st->codecpar) goto fail; @@ -4381,6 +4377,16 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c) goto fail; if (s->iformat) { + st->internal->info = av_mallocz(sizeof(*st->internal->info)); + if (!st->internal->info) + goto fail; + +#if FF_API_R_FRAME_RATE + st->internal->info->last_dts = AV_NOPTS_VALUE; +#endif + st->internal->info->fps_first_dts = AV_NOPTS_VALUE; + st->internal->info->fps_last_dts = AV_NOPTS_VALUE; + /* default pts setting is MPEG-like */ avpriv_set_pts_info(st, 33, 1, 90000); /* we set the current DTS to 0 so that formats without any timestamps @@ -4407,12 +4413,6 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c) st->sample_aspect_ratio = (AVRational) { 0, 1 }; -#if FF_API_R_FRAME_RATE - st->internal->info->last_dts = AV_NOPTS_VALUE; -#endif - st->internal->info->fps_first_dts = AV_NOPTS_VALUE; - st->internal->info->fps_last_dts = AV_NOPTS_VALUE; - st->internal->inject_global_side_data = s->internal->inject_global_side_data; st->internal->need_context_update = 1; |