Mercurial > mplayer.hg
diff mplayer.c @ 32383:f6e78eef2e1b
Avoid duplicating common init code between MPlayer and mencoder.
author | reimar |
---|---|
date | Sat, 09 Oct 2010 15:04:50 +0000 |
parents | 9a5340bb1f69 |
children | d1f6c6cf8905 |
line wrap: on
line diff
--- a/mplayer.c Sat Oct 09 14:17:06 2010 +0000 +++ b/mplayer.c Sat Oct 09 15:04:50 2010 +0000 @@ -114,7 +114,6 @@ #include "mpcommon.h" #include "mplayer.h" #include "osdep/getch2.h" -#include "osdep/priority.h" #include "osdep/timer.h" #include "parser-cfg.h" #include "parser-mpcmd.h" @@ -2734,8 +2733,6 @@ int main(int argc,char* argv[]){ -char * mem_ptr; - // movie info: /* Flag indicating whether MPlayer should exit without playing anything. */ @@ -2744,10 +2741,7 @@ int gui_no_filename=0; - InitTimer(); - srand(GetTimerMS()); - - mp_msg_init(); + common_preinit(); // Create the config context and register the options mconfig = m_config_new(); @@ -2758,10 +2752,6 @@ // Preparse the command line m_config_preparse_command_line(mconfig,argc,argv); -#if (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_WIN32DLL) - set_path_env(); -#endif - #ifdef CONFIG_TV stream_tv_defaults.immediate = 1; #endif @@ -2805,46 +2795,8 @@ } print_version("MPlayer"); - -#if defined(__MINGW32__) || defined(__CYGWIN__) -#ifdef CONFIG_GUI - void *runningmplayer = FindWindow("MPlayer GUI for Windows", "MPlayer for Windows"); - if(runningmplayer && filename && use_gui){ - COPYDATASTRUCT csData; - char file[MAX_PATH]; - char *filepart = filename; - if(GetFullPathName(filename, MAX_PATH, file, &filepart)){ - csData.dwData = 0; - csData.cbData = strlen(file)*2; - csData.lpData = file; - SendMessage(runningmplayer, WM_COPYDATA, (WPARAM)runningmplayer, (LPARAM)&csData); - } - } -#endif - - { - HMODULE kernel32 = GetModuleHandle("Kernel32.dll"); - BOOL WINAPI (*setDEP)(DWORD) = NULL; - BOOL WINAPI (*setDllDir)(LPCTSTR) = NULL; - if (kernel32) { - setDEP = GetProcAddress(kernel32, "SetProcessDEPPolicy"); - setDllDir = GetProcAddress(kernel32, "SetDllDirectoryA"); - } - if (setDEP) setDEP(3); - if (setDllDir) setDllDir(""); - } - // stop Windows from showing all kinds of annoying error dialogs - SetErrorMode(0x8003); - // request 1ms timer resolution - timeBeginPeriod(1); -#endif - -#ifdef CONFIG_PRIORITY - set_priority(); -#endif - - if (codec_path) - set_codec_path(codec_path); + if (!common_init()) + exit_player_with_rc(EXIT_NONE, 0); #ifndef CONFIG_GUI if(use_gui){ @@ -2885,19 +2837,6 @@ opt_exit = 1; } -/* Check codecs.conf. */ -if(!codecs_file || !parse_codec_cfg(codecs_file)){ - if(!parse_codec_cfg(mem_ptr=get_path("codecs.conf"))){ - if(!parse_codec_cfg(MPLAYER_CONFDIR "/codecs.conf")){ - if(!parse_codec_cfg(NULL)){ - exit_player_with_rc(EXIT_NONE, 0); - } - mp_msg(MSGT_CPLAYER,MSGL_V,MSGTR_BuiltinCodecsConf); - } - } - free( mem_ptr ); // release the buffer created by get_path() -} - if(audio_codec_list && strcmp(audio_codec_list[0],"help")==0){ mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_AvailableAudioCodecs); mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_CODECS\n"); @@ -2974,41 +2913,6 @@ //------ load global data first ------ -// check font -#ifdef CONFIG_FREETYPE - init_freetype(); -#endif -#ifdef CONFIG_FONTCONFIG - if(font_fontconfig <= 0) - { -#endif -#ifdef CONFIG_BITMAP_FONT - if(font_name){ - vo_font=read_font_desc(font_name,font_factor,verbose>1); - if(!vo_font) mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CantLoadFont, - filename_recode(font_name)); - } else { - // try default: - vo_font=read_font_desc( mem_ptr=get_path("font/font.desc"),font_factor,verbose>1); - free(mem_ptr); // release the buffer created by get_path() - if(!vo_font) - vo_font=read_font_desc(MPLAYER_DATADIR "/font/font.desc",font_factor,verbose>1); - } - if (sub_font_name) - sub_font = read_font_desc(sub_font_name, font_factor, verbose>1); - else - sub_font = vo_font; -#endif -#ifdef CONFIG_FONTCONFIG - } -#endif - - vo_init_osd(); - -#ifdef CONFIG_ASS - ass_library = ass_init(); -#endif - #ifdef HAVE_RTC if(!nortc) {