summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-06-26 23:37:23 +0200
committerwm4 <wm4@nowhere>2015-06-26 23:37:30 +0200
commit3b3170aedb4c8a9bfa32238f3b580feea22071f8 (patch)
tree2a28ca2a755d47153ffa558e95b487ee28db358e
parentd9b19390ad75bcf5f2b0d5ce5d1f034bd9b6ae15 (diff)
downloadmpv-3b3170aedb4c8a9bfa32238f3b580feea22071f8.tar.bz2
mpv-3b3170aedb4c8a9bfa32238f3b580feea22071f8.tar.xz
Disable DVD and BD menu support (to be removed)
DVD/BD menu support never worked right, and are a pain to maintain. In particular, DVD menus never actually worked correctly, because highlights were not rendered correctly. Fixing this requires major effort, which I'm not interested to spend. Most importantly, the requirement to switch streams without losing the DVD/BD state caused major weirdness in the playback core. It was implemented by somehow syncing the playback state to the DVD/BD implementation (in stream_dvdnav.c etc.), and then reloading the demuxer without destroying and recreating the stream. This caused a bunch of special-cases which I'm looking forward to remove. For now, don't just remove everything related to menu support and just disable it. If someone volunteers, it can be restored (i.e. rewritten) in a reasonable way. If nobody volunteers soon, it goes.
-rw-r--r--DOCS/man/mpv.rst8
-rw-r--r--DOCS/mplayer-changes.rst2
-rw-r--r--player/discnav.c2
-rw-r--r--stream/stream_bluray.c2
-rw-r--r--stream/stream_dvdnav.c2
5 files changed, 9 insertions, 7 deletions
diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst
index cc8fd26757..7f39da59f2 100644
--- a/DOCS/man/mpv.rst
+++ b/DOCS/man/mpv.rst
@@ -567,13 +567,9 @@ PROTOCOLS
you must mount the ISO file as filesystem, and point ``--bluray-device``
to the mounted directory directly.
-``bdnav://[title][/device]``
- Play a Blu-Ray disc, with navigation features enabled. This feature is
- permanently experimental.
-
``dvd://[title|[starttitle]-endtitle][/device]`` ``--dvd-device=PATH``
- Play a DVD. If you want dvdnav menus, use ``dvd://menu``. If no title
- is given, the longest title is auto-selected.
+ Play a DVD. DVD menus are not supported. If no title is given, the longest
+ title is auto-selected.
``dvdnav://`` is an old alias for ``dvd://`` and does exactly the same
thing.
diff --git a/DOCS/mplayer-changes.rst b/DOCS/mplayer-changes.rst
index 88ea927f30..8f29baabbd 100644
--- a/DOCS/mplayer-changes.rst
+++ b/DOCS/mplayer-changes.rst
@@ -279,7 +279,7 @@ Command Line Switches
``-xineramascreen`` ``--screen`` (different values)
``-xy W`` ``--autofit=W``
``-zoom`` Inverse available as ``--video-unscaled``
- ``dvdnav://`` ``dvdnav://menu``
+ ``dvdnav://`` Removed.
``dvd://1`` ``dvd://0`` (0-based offset)
=========================== ========================================
diff --git a/player/discnav.c b/player/discnav.c
index 719e88ac8f..91657f7f73 100644
--- a/player/discnav.c
+++ b/player/discnav.c
@@ -135,6 +135,7 @@ void mp_nav_init(struct MPContext *mpctx)
if (mpctx->encode_lavc_ctx)
return;
+#if 0
struct mp_nav_cmd inp = {MP_NAV_CMD_ENABLE};
if (run_stream_control(mpctx, STREAM_CTRL_NAV_CMD, &inp) < 1)
return;
@@ -150,6 +151,7 @@ void mp_nav_init(struct MPContext *mpctx)
update_state(mpctx);
update_mouse_on_button(mpctx);
+#endif
}
void mp_nav_reset(struct MPContext *mpctx)
diff --git a/stream/stream_bluray.c b/stream/stream_bluray.c
index dab0b41502..513ca5b0d7 100644
--- a/stream/stream_bluray.c
+++ b/stream/stream_bluray.c
@@ -744,6 +744,8 @@ static int bluray_stream_open(stream_t *s)
int title_guess = BLURAY_DEFAULT_TITLE;
if (b->use_nav) {
+ MP_FATAL(s, "BluRay menu support has been removed.\n");
+ return STREAM_ERROR;
const BLURAY_DISC_INFO *disc_info = bd_get_disc_info(b->bd);
b->num_titles = disc_info->num_hdmv_titles + disc_info->num_bdj_titles;
++b->num_titles; // for BLURAY_TITLE_TOP_MENU
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index e2ea93d200..e9a78d398c 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -781,6 +781,8 @@ static int open_s(stream_t *stream)
return STREAM_UNSUPPORTED;
}
} else {
+ MP_FATAL(stream, "DVD menu support has been removed.\n");
+ return STREAM_ERROR;
if (dvdnav_menu_call(priv->dvdnav, DVD_MENU_Root) != DVDNAV_STATUS_OK)
dvdnav_menu_call(priv->dvdnav, DVD_MENU_Title);
}