From 3b3170aedb4c8a9bfa32238f3b580feea22071f8 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 26 Jun 2015 23:37:23 +0200 Subject: 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. --- DOCS/man/mpv.rst | 8 ++------ DOCS/mplayer-changes.rst | 2 +- player/discnav.c | 2 ++ stream/stream_bluray.c | 2 ++ stream/stream_dvdnav.c | 2 ++ 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); } -- cgit v1.2.3