changeset 7677:33562a65e9e8

_EXPERIMENTAL_ option: -fixed-vo for libvo spec compliance testing (imho it should NOT be documented yet)
author arpi
date Wed, 09 Oct 2002 01:13:40 +0000
parents 711b3d844c47
children 693a19e1c98e
files cfg-mplayer.h mplayer.c
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/cfg-mplayer.h	Wed Oct 09 00:52:15 2002 +0000
+++ b/cfg-mplayer.h	Wed Oct 09 01:13:40 2002 +0000
@@ -174,6 +174,7 @@
             CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
 	{"vo", &video_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
 	{"ao", &audio_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
+	{"fixed-vo", &fixed_vo, CONF_TYPE_FLAG, 0, 0, 1, NULL},
 
 	{"aop", ao_plugin_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
 	{"af", audio_filter_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
--- a/mplayer.c	Wed Oct 09 00:52:15 2002 +0000
+++ b/mplayer.c	Wed Oct 09 01:13:40 2002 +0000
@@ -139,6 +139,8 @@
 vo_functions_t *video_out=NULL;
 ao_functions_t *audio_out=NULL;
 
+int fixed_vo=0;
+
 // benchmark:
 double video_time_usage=0;
 double vout_time_usage=0;
@@ -1148,6 +1150,7 @@
 if(!sh_video) goto main; // audio-only
 
 //================== Init VIDEO (codec & libvo) ==========================
+if(!fixed_vo || !(inited_flags&INITED_VO)){
 current_module="preinit_libvo";
 
 vo_config_count=0;
@@ -1158,6 +1161,7 @@
 }
 sh_video->video_out=video_out;
 inited_flags|=INITED_VO;
+}
 
 current_module="init_video_filters";
 
@@ -1171,7 +1175,7 @@
 mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n");
 
 if(!sh_video->inited){
-    uninit_player(INITED_VO);
+    if(!fixed_vo) uninit_player(INITED_VO);
     if(!sh_audio) goto goto_next_file;
     sh_video = d_video->sh = NULL;
     goto main; // exit_player(MSGTR_Exit_error);
@@ -1325,7 +1329,7 @@
    if(verbose) mp_msg(MSGT_CPLAYER,MSGL_V,"Freeing %d unused video chunks\n",d_video->packs);
    ds_free_packs(d_video);
    d_video->id=-2;
-   //uninit_player(INITED_VO);
+   //if(!fixed_vo) uninit_player(INITED_VO);
 }
 
 if (!sh_video && !sh_audio)
@@ -2685,7 +2689,7 @@
 }
 
 // time to uninit all, except global stuff:
-uninit_player(INITED_ALL-(INITED_GUI+INITED_INPUT));
+uninit_player(INITED_ALL-(INITED_GUI+INITED_INPUT+(fixed_vo?INITED_VO:0)));
 
 if(eof == PT_NEXT_ENTRY || eof == PT_PREV_ENTRY) {
   eof = eof == PT_NEXT_ENTRY ? 1 : -1;