[FFmpeg-devel] [PATCH 2/4] avformat/dvdvideodec: Don't store AVInputFormat*
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat Mar 2 17:43:25 EET 2024
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.rheinhardt at 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
More information about the ffmpeg-devel
mailing list