summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-11-11 09:09:08 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-11-11 09:09:08 +0000
commit2bf260398ba7b6c39fbb8644be09888c408e4176 (patch)
tree32fc6adea9fb4881a11d80882a1c202ec5bdb7da
parent92ac5a8c209ba823330a53da69551d1a9fa6091a (diff)
downloadmpv-2bf260398ba7b6c39fbb8644be09888c408e4176.tar.bz2
mpv-2bf260398ba7b6c39fbb8644be09888c408e4176.tar.xz
Set the EOF flag when dvdnav reached the end of the requested title.
Otherwise it would just hang, either at the menu or trying to play the last played frame as a still frame. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29893 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--stream/stream_dvdnav.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index eafc922f80..9962c0606f 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -349,8 +349,10 @@ static int fill_buffer(stream_t *s, char *but, int len)
if(dvdnav_current_title_info(priv->dvdnav, &tit, &part) == DVDNAV_STATUS_OK) {
mp_msg(MSGT_CPLAYER,MSGL_V, "\r\nDVDNAV, NEW TITLE %d\r\n", tit);
dvdnav_get_highlight (priv, 0);
- if(priv->title > 0 && tit != priv->title)
+ if(priv->title > 0 && tit != priv->title) {
+ priv->state |= NAV_FLAG_EOF;
return 0;
+ }
}
break;
}
@@ -364,8 +366,10 @@ static int fill_buffer(stream_t *s, char *but, int len)
priv->state |= NAV_FLAG_WAIT_READ;
if(priv->title > 0 && dvd_last_chapter > 0) {
int tit=0, part=0;
- if(dvdnav_current_title_info(priv->dvdnav, &tit, &part) == DVDNAV_STATUS_OK && part > dvd_last_chapter)
+ if(dvdnav_current_title_info(priv->dvdnav, &tit, &part) == DVDNAV_STATUS_OK && part > dvd_last_chapter) {
+ priv->state |= NAV_FLAG_EOF;
return 0;
+ }
}
dvdnav_get_highlight (priv, 1);
}