comparison mplayer.c @ 5380:8a01cde9cf39

DVDnav support patch by David Holm and Kees Cook <mplayer@outflux.net>
author arpi
date Thu, 28 Mar 2002 20:40:21 +0000
parents 658ea5d7316a
children 3af2729c5c87
comparison
equal deleted inserted replaced
5379:9fc7bcadcc1b 5380:8a01cde9cf39
46 #include "libmpeg2/mpeg2_internal.h" 46 #include "libmpeg2/mpeg2_internal.h"
47 47
48 #include "codec-cfg.h" 48 #include "codec-cfg.h"
49 49
50 #include "dvdauth.h" 50 #include "dvdauth.h"
51 #ifdef USE_DVDNAV
52 #include <dvdnav.h>
53 #endif
51 #ifdef USE_DVDREAD 54 #ifdef USE_DVDREAD
52 #include "spudec.h" 55 #include "spudec.h"
53 #endif 56 #endif
54 #include "vobsub.h" 57 #include "vobsub.h"
55 58
625 printf("\n"); 628 printf("\n");
626 exit(0); 629 exit(0);
627 } 630 }
628 631
629 632
630 if(!filename && !vcd_track && !dvd_title && !tv_param_on){ 633 if(!filename && !vcd_track && !dvd_title && !dvd_nav && !tv_param_on){
631 if(!use_gui){ 634 if(!use_gui){
632 // no file/vcd/dvd -> show HELP: 635 // no file/vcd/dvd -> show HELP:
633 mp_msg(MSGT_CPLAYER, MSGL_INFO, help_text); 636 mp_msg(MSGT_CPLAYER, MSGL_INFO, help_text);
634 exit(0); 637 exit(0);
635 } else gui_no_filename=1; 638 } else gui_no_filename=1;
1960 osd_show_av_delay = 9; // show the A-V delay in OSD 1963 osd_show_av_delay = 9; // show the A-V delay in OSD
1961 if(sh_audio) sh_audio->timer+=0.1; 1964 if(sh_audio) sh_audio->timer+=0.1;
1962 break; 1965 break;
1963 // quit 1966 // quit
1964 case KEY_ESC: // ESC 1967 case KEY_ESC: // ESC
1968 #ifdef USE_DVDNAV
1969 if(dvd_nav) {
1970 printf("menu\n");
1971 dvdnav_menu_call(stream->priv,DVD_MENU_Root);
1972 break;
1973 }
1974 #endif
1965 case 'q': 1975 case 'q':
1966 exit_player(MSGTR_Exit_quit); 1976 exit_player(MSGTR_Exit_quit);
1967 case KEY_ENTER: // ESC 1977 case KEY_ENTER: // ESC
1968 eof=1; // force jump to next file : quit if no next file 1978 eof=1; // force jump to next file : quit if no next file
1969 break; 1979 break;
2435 2445
2436 sub_pos+=v; 2446 sub_pos+=v;
2437 if(sub_pos >100) sub_pos=100; 2447 if(sub_pos >100) sub_pos=100;
2438 if(sub_pos <0) sub_pos=0; 2448 if(sub_pos <0) sub_pos=0;
2439 } break; 2449 } break;
2450 #ifdef USE_DVDNAV
2451 case MP_CMD_DVDNAV: {
2452 switch (cmd->args[0].v.i) {
2453 case MP_CMD_DVDNAV_UP:
2454 dvdnav_upper_button_select(stream->priv);
2455 break;
2456 case MP_CMD_DVDNAV_DOWN:
2457 dvdnav_lower_button_select(stream->priv);
2458 break;
2459 case MP_CMD_DVDNAV_LEFT:
2460 dvdnav_left_button_select(stream->priv);
2461 break;
2462 case MP_CMD_DVDNAV_RIGHT:
2463 dvdnav_right_button_select(stream->priv);
2464 break;
2465 case MP_CMD_DVDNAV_MENU:
2466 dvdnav_menu_call(stream->priv,DVD_MENU_Root);
2467 break;
2468 case MP_CMD_DVDNAV_SELECT:
2469 dvdnav_button_activate(stream->priv);
2470 break;
2471 default:
2472 mp_msg(MSGT_CPLAYER, MSGL_V, "Weird DVD Nav cmd %d\n",cmd->args[0].v.i);
2473 break;
2474 }
2475 break;
2476 }
2477 #endif
2440 default : { 2478 default : {
2441 #ifdef HAVE_NEW_GUI 2479 #ifdef HAVE_NEW_GUI
2442 if ( ( use_gui )&&( cmd->id > MP_CMD_GUI_EVENTS ) ) guiGetEvent( guiIEvent,(char *)cmd->id ); 2480 if ( ( use_gui )&&( cmd->id > MP_CMD_GUI_EVENTS ) ) guiGetEvent( guiIEvent,(char *)cmd->id );
2443 else 2481 else
2444 #endif 2482 #endif