mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-03 05:10:03 +02:00
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>
This commit is contained in:
parent
10646d30a3
commit
6e0823ab83
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user