summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvdnav.c
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-09 21:37:57 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-09 21:37:57 +0000
commitf817575e5ff69110a3099fea6beee235608e1b54 (patch)
tree5af51326a82272829ccf487e056d5238686a89fb /stream/stream_dvdnav.c
parent6462618244225b4942232be38a8c4b1d087b3d23 (diff)
downloadmpv-f817575e5ff69110a3099fea6beee235608e1b54.tar.bz2
mpv-f817575e5ff69110a3099fea6beee235608e1b54.tar.xz
added mp_dvdnav_handle_input to handle user's input (revived from the repository with few changes)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19774 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/stream_dvdnav.c')
-rw-r--r--stream/stream_dvdnav.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index e3ba6361c7..162410883a 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -430,6 +430,46 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
return STREAM_OK;
}
+
+int mp_dvdnav_handle_input(stream_t *stream, int cmd) {
+ dvdnav_priv_t * dvdnav_priv=(dvdnav_priv_t*)stream->priv;
+ dvdnav_t *nav = dvdnav_priv->dvdnav;
+ dvdnav_status_t status;
+ pci_t *pci = dvdnav_get_current_nav_pci(nav);
+ int reset = 0;
+
+ if(cmd != MP_CMD_DVDNAV_SELECT && !pci)
+ return 0;
+
+ switch(cmd) {
+ case MP_CMD_DVDNAV_UP:
+ status = dvdnav_upper_button_select(nav, pci);
+ break;
+ case MP_CMD_DVDNAV_DOWN:
+ status = dvdnav_lower_button_select(nav, pci);
+ break;
+ case MP_CMD_DVDNAV_LEFT:
+ status = dvdnav_left_button_select(nav, pci);
+ break;
+ case MP_CMD_DVDNAV_RIGHT:
+ status = dvdnav_right_button_select(nav, pci);
+ break;
+ case MP_CMD_DVDNAV_MENU:
+ status = dvdnav_menu_call(nav,DVD_MENU_Root);
+ reset = 1;
+ break;
+ case MP_CMD_DVDNAV_SELECT:
+ status = dvdnav_button_activate(nav, pci);
+ reset = 1;
+ break;
+ default:
+ mp_msg(MSGT_CPLAYER, MSGL_V, "Unknown DVDNAV cmd %d\n", cmd);
+ break;
+ }
+
+ return reset;
+}
+
stream_info_t stream_info_dvdnav = {
"DVDNAV stream",
"null",