mirror of
https://github.com/mpv-player/mpv.git
synced 2025-12-28 05:33:14 +00:00
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.
This commit is contained in:
@@ -567,13 +567,9 @@ PROTOCOLS
|
|||||||
you must mount the ISO file as filesystem, and point ``--bluray-device``
|
you must mount the ISO file as filesystem, and point ``--bluray-device``
|
||||||
to the mounted directory directly.
|
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``
|
``dvd://[title|[starttitle]-endtitle][/device]`` ``--dvd-device=PATH``
|
||||||
Play a DVD. If you want dvdnav menus, use ``dvd://menu``. If no title
|
Play a DVD. DVD menus are not supported. If no title is given, the longest
|
||||||
is given, the longest title is auto-selected.
|
title is auto-selected.
|
||||||
|
|
||||||
``dvdnav://`` is an old alias for ``dvd://`` and does exactly the same
|
``dvdnav://`` is an old alias for ``dvd://`` and does exactly the same
|
||||||
thing.
|
thing.
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ Command Line Switches
|
|||||||
``-xineramascreen`` ``--screen`` (different values)
|
``-xineramascreen`` ``--screen`` (different values)
|
||||||
``-xy W`` ``--autofit=W``
|
``-xy W`` ``--autofit=W``
|
||||||
``-zoom`` Inverse available as ``--video-unscaled``
|
``-zoom`` Inverse available as ``--video-unscaled``
|
||||||
``dvdnav://`` ``dvdnav://menu``
|
``dvdnav://`` Removed.
|
||||||
``dvd://1`` ``dvd://0`` (0-based offset)
|
``dvd://1`` ``dvd://0`` (0-based offset)
|
||||||
=========================== ========================================
|
=========================== ========================================
|
||||||
|
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ void mp_nav_init(struct MPContext *mpctx)
|
|||||||
if (mpctx->encode_lavc_ctx)
|
if (mpctx->encode_lavc_ctx)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#if 0
|
||||||
struct mp_nav_cmd inp = {MP_NAV_CMD_ENABLE};
|
struct mp_nav_cmd inp = {MP_NAV_CMD_ENABLE};
|
||||||
if (run_stream_control(mpctx, STREAM_CTRL_NAV_CMD, &inp) < 1)
|
if (run_stream_control(mpctx, STREAM_CTRL_NAV_CMD, &inp) < 1)
|
||||||
return;
|
return;
|
||||||
@@ -150,6 +151,7 @@ void mp_nav_init(struct MPContext *mpctx)
|
|||||||
|
|
||||||
update_state(mpctx);
|
update_state(mpctx);
|
||||||
update_mouse_on_button(mpctx);
|
update_mouse_on_button(mpctx);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void mp_nav_reset(struct MPContext *mpctx)
|
void mp_nav_reset(struct MPContext *mpctx)
|
||||||
|
|||||||
@@ -744,6 +744,8 @@ static int bluray_stream_open(stream_t *s)
|
|||||||
|
|
||||||
int title_guess = BLURAY_DEFAULT_TITLE;
|
int title_guess = BLURAY_DEFAULT_TITLE;
|
||||||
if (b->use_nav) {
|
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);
|
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 = disc_info->num_hdmv_titles + disc_info->num_bdj_titles;
|
||||||
++b->num_titles; // for BLURAY_TITLE_TOP_MENU
|
++b->num_titles; // for BLURAY_TITLE_TOP_MENU
|
||||||
|
|||||||
@@ -781,6 +781,8 @@ static int open_s(stream_t *stream)
|
|||||||
return STREAM_UNSUPPORTED;
|
return STREAM_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
} else {
|
} 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)
|
if (dvdnav_menu_call(priv->dvdnav, DVD_MENU_Root) != DVDNAV_STATUS_OK)
|
||||||
dvdnav_menu_call(priv->dvdnav, DVD_MENU_Title);
|
dvdnav_menu_call(priv->dvdnav, DVD_MENU_Title);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user