summaryrefslogtreecommitdiff
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-08-26 21:08:23 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-08-30 16:12:22 +0200
commit6e0823ab83056e1a0905c64568738b7f2fb14f4d (patch)
tree2eaaba074e5cfab1a69c44331a1f20c277e64788 /libavformat/utils.c
parent10646d30a3637d1bd0a563c025caea31f81b27d3 (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.c20
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;