Commit ff03df64 authored by Michael Niedermayer's avatar Michael Niedermayer

avformat/mpeg: Use av_find_input_format() instead of directly linking to the demuxer

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 2ce10542
...@@ -683,6 +683,7 @@ static int vobsub_read_header(AVFormatContext *s) ...@@ -683,6 +683,7 @@ static int vobsub_read_header(AVFormatContext *s)
int stream_id = -1; int stream_id = -1;
char id[64] = {0}; char id[64] = {0};
char alt[MAX_LINE_SIZE] = {0}; char alt[MAX_LINE_SIZE] = {0};
AVInputFormat *iformat;
sub_name = av_strdup(s->filename); sub_name = av_strdup(s->filename);
fname_len = strlen(sub_name); fname_len = strlen(sub_name);
...@@ -696,6 +697,9 @@ static int vobsub_read_header(AVFormatContext *s) ...@@ -696,6 +697,9 @@ static int vobsub_read_header(AVFormatContext *s)
memcpy(ext, !strncmp(ext, "IDX", 3) ? "SUB" : "sub", 3); memcpy(ext, !strncmp(ext, "IDX", 3) ? "SUB" : "sub", 3);
av_log(s, AV_LOG_VERBOSE, "IDX/SUB: %s -> %s\n", s->filename, sub_name); av_log(s, AV_LOG_VERBOSE, "IDX/SUB: %s -> %s\n", s->filename, sub_name);
if (!(iformat = av_find_input_format("mpeg")))
return AVERROR_DEMUXER_NOT_FOUND;
vobsub->sub_ctx = avformat_alloc_context(); vobsub->sub_ctx = avformat_alloc_context();
if (!vobsub->sub_ctx) if (!vobsub->sub_ctx)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
...@@ -703,7 +707,7 @@ static int vobsub_read_header(AVFormatContext *s) ...@@ -703,7 +707,7 @@ static int vobsub_read_header(AVFormatContext *s)
if ((ret = ff_copy_whitelists(vobsub->sub_ctx, s)) < 0) if ((ret = ff_copy_whitelists(vobsub->sub_ctx, s)) < 0)
goto end; goto end;
ret = avformat_open_input(&vobsub->sub_ctx, sub_name, &ff_mpegps_demuxer, NULL); ret = avformat_open_input(&vobsub->sub_ctx, sub_name, iformat, NULL);
if (ret < 0) { if (ret < 0) {
av_log(s, AV_LOG_ERROR, "Unable to open %s as MPEG subtitles\n", sub_name); av_log(s, AV_LOG_ERROR, "Unable to open %s as MPEG subtitles\n", sub_name);
goto end; goto end;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment