The inner AVInputFormat* of the inner mpegps-demuxer is only used once (in avformat_open_input()), so don't even store it. In fact, just use ff_mpegps_demuxer directly, as this demuxer has a configure dependency on it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavformat/dvdvideodec.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libavformat/dvdvideodec.c b/libavformat/dvdvideodec.c index fd1f640560..ef2d4e6df4 100644 --- a/libavformat/dvdvideodec.c +++ b/libavformat/dvdvideodec.c @@ -136,7 +136,6 @@ typedef struct DVDVideoDemuxContext { int opt_trim; /* trim padding cells at beginning */ /* subdemux */ - const AVInputFormat *mpeg_fmt; /* inner MPEG-PS (VOB) demuxer */ AVFormatContext *mpeg_ctx; /* context for inner demuxer */ uint8_t *mpeg_buf; /* buffer for inner demuxer */ FFIOContext mpeg_pb; /* buffer context for inner demuxer */ @@ -1210,12 +1209,9 @@ static void dvdvideo_subdemux_close(AVFormatContext *s) static int dvdvideo_subdemux_open(AVFormatContext *s) { DVDVideoDemuxContext *c = s->priv_data; - + extern const AVInputFormat ff_mpegps_demuxer; int ret = 0; - if (!(c->mpeg_fmt = av_find_input_format("mpeg"))) - return AVERROR_DEMUXER_NOT_FOUND; - if (!(c->mpeg_ctx = avformat_alloc_context())) return AVERROR(ENOMEM); @@ -1246,7 +1242,7 @@ static int dvdvideo_subdemux_open(AVFormatContext *s) c->mpeg_ctx->correct_ts_overflow = 0; c->mpeg_ctx->io_open = NULL; - return avformat_open_input(&c->mpeg_ctx, "", c->mpeg_fmt, NULL); + return avformat_open_input(&c->mpeg_ctx, "", &ff_mpegps_demuxer, NULL); } static int dvdvideo_read_header(AVFormatContext *s) -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".