comparison mplayer.c @ 4431:44c23fd75005

Added uninit to input
author albeu
date Thu, 31 Jan 2002 09:37:12 +0000
parents 8141d2c399e4
children df8e0f71cc3c
comparison
equal deleted inserted replaced
4430:b4cc68c448db 4431:44c23fd75005
290 #define INITED_GUI 4 290 #define INITED_GUI 4
291 #define INITED_GETCH2 8 291 #define INITED_GETCH2 8
292 #define INITED_LIRC 16 292 #define INITED_LIRC 16
293 #define INITED_SPUDEC 32 293 #define INITED_SPUDEC 32
294 #define INITED_STREAM 64 294 #define INITED_STREAM 64
295 #define INITED_INPUT 128
295 #define INITED_ALL 0xFFFF 296 #define INITED_ALL 0xFFFF
296 297
297 void uninit_player(unsigned int mask){ 298 void uninit_player(unsigned int mask){
298 mask=inited_flags&mask; 299 mask=inited_flags&mask;
299 #ifdef USE_DVDREAD 300 #ifdef USE_DVDREAD
344 #ifdef HAVE_LIRC 345 #ifdef HAVE_LIRC
345 if(mask&INITED_LIRC){ 346 if(mask&INITED_LIRC){
346 inited_flags&=~INITED_LIRC; 347 inited_flags&=~INITED_LIRC;
347 current_module="uninit_lirc"; 348 current_module="uninit_lirc";
348 lirc_mp_cleanup(); 349 lirc_mp_cleanup();
350 }
351 #endif
352
353 #ifdef HAVE_NEW_INPUT
354 if(mask&INITED_INPUT){
355 inited_flags&=INITED_INPUT;
356 current_module="uninit_input";
357 mp_input_uninit();
349 } 358 }
350 #endif 359 #endif
351 360
352 current_module=NULL; 361 current_module=NULL;
353 362
632 inited_flags|=INITED_GUI; 641 inited_flags|=INITED_GUI;
633 mplShMem->Playing= (gui_no_filename) ? 0 : 1; 642 mplShMem->Playing= (gui_no_filename) ? 0 : 1;
634 } 643 }
635 #endif 644 #endif
636 645
637 #ifdef HAVE_LIRC 646 #if defined(HAVE_LIRC) && ! defined(HAVE_NEW_INPUT)
638 lirc_mp_setup(); 647 lirc_mp_setup();
639 inited_flags|=INITED_LIRC; 648 inited_flags|=INITED_LIRC;
640 #endif 649 #endif
641 650
642 #ifdef HAVE_RTC 651 #ifdef HAVE_RTC
682 mp_input_add_key_fd(keyb_fifo_get,1,NULL,NULL); 691 mp_input_add_key_fd(keyb_fifo_get,1,NULL,NULL);
683 if(slave_mode) 692 if(slave_mode)
684 mp_input_add_cmd_fd(0,1,NULL,NULL); 693 mp_input_add_cmd_fd(0,1,NULL,NULL);
685 else 694 else
686 mp_input_add_key_fd(0,1,NULL,NULL); 695 mp_input_add_key_fd(0,1,NULL,NULL);
696 inited_flags|=INITED_INPUT;
687 current_module = NULL; 697 current_module = NULL;
688 #endif 698 #endif
689 699
690 700
691 //========= Catch terminate signals: ================ 701 //========= Catch terminate signals: ================
866 } 876 }
867 877
868 current_module="open_stream"; 878 current_module="open_stream";
869 stream=open_stream(filename,vcd_track,&file_format); 879 stream=open_stream(filename,vcd_track,&file_format);
870 if(!stream) { // error... 880 if(!stream) { // error...
871 uninit_player(inited_flags-(INITED_GUI+INITED_LIRC)); 881 uninit_player(inited_flags-(INITED_GUI+INITED_LIRC+INITED_INPUT));
872 goto goto_next_file_src; 882 goto goto_next_file_src;
873 } 883 }
874 inited_flags|=INITED_STREAM; 884 inited_flags|=INITED_STREAM;
875 if(stream->type == STREAMTYPE_PLAYLIST) { 885 if(stream->type == STREAMTYPE_PLAYLIST) {
876 play_tree_t* entry; 886 play_tree_t* entry;
884 if(playtree_iter->tree == entry) { // Loop with a single file 894 if(playtree_iter->tree == entry) { // Loop with a single file
885 if(play_tree_iter_up_step(playtree_iter,1,0) != PLAY_TREE_ITER_ENTRY) 895 if(play_tree_iter_up_step(playtree_iter,1,0) != PLAY_TREE_ITER_ENTRY)
886 goto goto_next_file; 896 goto goto_next_file;
887 } 897 }
888 play_tree_remove(entry,1,1); 898 play_tree_remove(entry,1,1);
889 uninit_player(inited_flags-(INITED_GUI+INITED_LIRC)); 899 uninit_player(inited_flags-(INITED_GUI+INITED_LIRC+INITED_INPUT));
890 goto goto_next_file_src; 900 goto goto_next_file_src;
891 } 901 }
892 play_tree_insert_entry(playtree_iter->tree,entry); 902 play_tree_insert_entry(playtree_iter->tree,entry);
893 entry = playtree_iter->tree; 903 entry = playtree_iter->tree;
894 if(play_tree_iter_step(playtree_iter,1,0) != PLAY_TREE_ITER_ENTRY) 904 if(play_tree_iter_step(playtree_iter,1,0) != PLAY_TREE_ITER_ENTRY)
895 goto goto_next_file; 905 goto goto_next_file;
896 play_tree_remove(entry,1,1); 906 play_tree_remove(entry,1,1);
897 uninit_player(inited_flags-(INITED_GUI+INITED_LIRC)); 907 uninit_player(inited_flags-(INITED_GUI+INITED_LIRC+INITED_INPUT));
898 goto goto_next_file_src; 908 goto goto_next_file_src;
899 } 909 }
900 stream->start_pos+=seek_to_byte; 910 stream->start_pos+=seek_to_byte;
901 911
902 if(stream_dump_type==5){ 912 if(stream_dump_type==5){
2695 } 2705 }
2696 2706
2697 if(eof == PT_NEXT_ENTRY || eof == PT_PREV_ENTRY) { 2707 if(eof == PT_NEXT_ENTRY || eof == PT_PREV_ENTRY) {
2698 eof = eof == PT_NEXT_ENTRY ? 1 : -1; 2708 eof = eof == PT_NEXT_ENTRY ? 1 : -1;
2699 if(play_tree_iter_step(playtree_iter,eof,0) == PLAY_TREE_ITER_ENTRY) { 2709 if(play_tree_iter_step(playtree_iter,eof,0) == PLAY_TREE_ITER_ENTRY) {
2700 uninit_player(INITED_ALL-(INITED_GUI+INITED_LIRC)); 2710 uninit_player(INITED_ALL-(INITED_GUI+INITED_LIRC+INITED_INPUT));
2701 eof = 1; 2711 eof = 1;
2702 } else { 2712 } else {
2703 play_tree_iter_free(playtree_iter); 2713 play_tree_iter_free(playtree_iter);
2704 playtree_iter = NULL; 2714 playtree_iter = NULL;
2705 } 2715 }
2706 } else if (eof == PT_UP_NEXT || eof == PT_UP_PREV) { 2716 } else if (eof == PT_UP_NEXT || eof == PT_UP_PREV) {
2707 eof = eof == PT_UP_NEXT ? 1 : -1; 2717 eof = eof == PT_UP_NEXT ? 1 : -1;
2708 if(play_tree_iter_up_step(playtree_iter,eof,0) == PLAY_TREE_ITER_ENTRY) { 2718 if(play_tree_iter_up_step(playtree_iter,eof,0) == PLAY_TREE_ITER_ENTRY) {
2709 uninit_player(INITED_ALL-(INITED_GUI+INITED_LIRC)); 2719 uninit_player(INITED_ALL-(INITED_GUI+INITED_LIRC+INITED_INPUT));
2710 eof = 1; 2720 eof = 1;
2711 } else { 2721 } else {
2712 play_tree_iter_free(playtree_iter); 2722 play_tree_iter_free(playtree_iter);
2713 playtree_iter = NULL; 2723 playtree_iter = NULL;
2714 } 2724 }
2715 }else { // NEXT PREV SRC 2725 }else { // NEXT PREV SRC
2716 uninit_player(INITED_ALL-(INITED_GUI+INITED_LIRC)); 2726 uninit_player(INITED_ALL-(INITED_GUI+INITED_LIRC+INITED_INPUT));
2717 eof = eof == PT_PREV_SRC ? -1 : 1; 2727 eof = eof == PT_PREV_SRC ? -1 : 1;
2718 } 2728 }
2719 2729
2720 goto_next_file_src: // When we have multiple src for file 2730 goto_next_file_src: // When we have multiple src for file
2721 2731