summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvdnav.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/stream_dvdnav.c')
-rw-r--r--stream/stream_dvdnav.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index 6e9eb37d9e..6d5d62cf69 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -458,6 +458,21 @@ int mp_dvdnav_handle_input(stream_t *stream, int cmd, int *button) {
status = dvdnav_menu_call(nav,DVD_MENU_Root);
reset = 1;
break;
+ case MP_CMD_DVDNAV_PREVMENU: {
+ int title=0, part=0;
+
+ dvdnav_current_title_info(nav, &title, &part);
+ if(title) {
+ if(dvdnav_menu_call(nav, DVD_MENU_Part) == DVDNAV_STATUS_OK
+ || dvdnav_menu_call(nav, DVD_MENU_Title) == DVDNAV_STATUS_OK) {
+ reset = 1;
+ break;
+ }
+ }
+ if(dvdnav_menu_call(nav, DVD_MENU_Root) == DVDNAV_STATUS_OK)
+ reset = 1;
+ }
+ break;
case MP_CMD_DVDNAV_SELECT:
status = dvdnav_button_activate(nav, pci);
reset = 1;