mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-16 11:47:04 +00:00
avformat/dvdvideodec: open subdemuxer after initializing IFO headers
It is wasteful to open the subdemuxer if an error occurs while initializing streams or reading IFO headers. Signed-off-by: Marth64 <marth64@proxyid.net>
This commit is contained in:
parent
60434b483c
commit
a2c57e27d6
@ -1565,9 +1565,9 @@ static int dvdvideo_read_header(AVFormatContext *s)
|
|||||||
if ((ret = dvdvideo_ifo_open(s)) < 0 ||
|
if ((ret = dvdvideo_ifo_open(s)) < 0 ||
|
||||||
(c->opt_preindex && (ret = dvdvideo_chapters_setup_preindex(s)) < 0) ||
|
(c->opt_preindex && (ret = dvdvideo_chapters_setup_preindex(s)) < 0) ||
|
||||||
(ret = dvdvideo_menu_open(s, &c->play_state)) < 0 ||
|
(ret = dvdvideo_menu_open(s, &c->play_state)) < 0 ||
|
||||||
(ret = dvdvideo_subdemux_open(s)) < 0 ||
|
|
||||||
(ret = dvdvideo_video_stream_setup(s)) < 0 ||
|
(ret = dvdvideo_video_stream_setup(s)) < 0 ||
|
||||||
(ret = dvdvideo_audio_stream_add_all(s)) < 0)
|
(ret = dvdvideo_audio_stream_add_all(s)) < 0 ||
|
||||||
|
(ret = dvdvideo_subdemux_open(s)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1600,15 +1600,13 @@ static int dvdvideo_read_header(AVFormatContext *s)
|
|||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if ((ret = dvdvideo_play_open(s, &c->play_state)) < 0 ||
|
if ((ret = dvdvideo_play_open(s, &c->play_state)) < 0 ||
|
||||||
(ret = dvdvideo_subdemux_open(s)) < 0 ||
|
(!c->opt_pgc && !c->opt_preindex && (ret = dvdvideo_chapters_setup_simple(s)) < 0) ||
|
||||||
(ret = dvdvideo_video_stream_setup(s)) < 0 ||
|
(ret = dvdvideo_video_stream_setup(s)) < 0 ||
|
||||||
(ret = dvdvideo_audio_stream_add_all(s)) < 0 ||
|
(ret = dvdvideo_audio_stream_add_all(s)) < 0 ||
|
||||||
(ret = dvdvideo_subp_stream_add_all(s)) < 0)
|
(ret = dvdvideo_subp_stream_add_all(s)) < 0 ||
|
||||||
|
(ret = dvdvideo_subdemux_open(s)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (!c->opt_pgc && !c->opt_preindex)
|
|
||||||
return dvdvideo_chapters_setup_simple(s);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user