mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/dvdvideodec: Do not EOF on WAIT events
A DVDNAV_WAIT event by itself should not warrant an EOF when navigating the program stream. Some discs have WAIT events in the middle of a title, causing playback to end prematurely prior to this fix. Signed-off-by: Marth64 <marth64@proxyid.net>
This commit is contained in:
parent
3764b8ecdb
commit
0c1c7688ea
|
@ -814,8 +814,15 @@ static int dvdvideo_play_next_ps_block(AVFormatContext *s, DVDVideoPlaybackState
|
|||
(*p_nav_event) = nav_event;
|
||||
|
||||
return nav_len;
|
||||
case DVDNAV_STILL_FRAME:
|
||||
case DVDNAV_WAIT:
|
||||
if (dvdnav_wait_skip(state->dvdnav) != DVDNAV_STATUS_OK) {
|
||||
av_log(s, AV_LOG_ERROR, "Unable to skip WAIT event\n");
|
||||
|
||||
goto end_dvdnav_error;
|
||||
}
|
||||
|
||||
continue;
|
||||
case DVDNAV_STILL_FRAME:
|
||||
case DVDNAV_HOP_CHANNEL:
|
||||
case DVDNAV_HIGHLIGHT:
|
||||
if (state->in_ps)
|
||||
|
@ -829,14 +836,6 @@ static int dvdvideo_play_next_ps_block(AVFormatContext *s, DVDVideoPlaybackState
|
|||
}
|
||||
}
|
||||
|
||||
if (nav_event == DVDNAV_WAIT) {
|
||||
if (dvdnav_wait_skip(state->dvdnav) != DVDNAV_STATUS_OK) {
|
||||
av_log(s, AV_LOG_ERROR, "Unable to skip WAIT event\n");
|
||||
|
||||
goto end_dvdnav_error;
|
||||
}
|
||||
}
|
||||
|
||||
continue;
|
||||
default:
|
||||
continue;
|
||||
|
|
Loading…
Reference in New Issue