From 732ee3474ac23a16f0ed7e791c0a5f8160a11ebd Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Tue, 1 Apr 2008 17:35:10 +0300 Subject: Move options "vo" and "ao" to common struct --- cfg-mplayer.h | 5 +++-- defaultopts.c | 3 +++ mplayer.c | 25 +++++++++++-------------- options.h | 2 ++ 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 462e09f7f1..981a7a83ba 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -89,6 +89,7 @@ const m_option_t tvscan_conf[]={ #define FLAG_ON(optname, varname, flags) {optname, NULL, CONF_TYPE_FLAG, flags, 0, 1, NULL, 1, offsetof(struct MPOpts, varname)} #define FLAG_OFF(optname, varname, flags) {optname, NULL, CONF_TYPE_FLAG, flags, 1, 0, NULL, 1, offsetof(struct MPOpts, varname)} +#define STRINGLIST(optname, varname, flags) {optname, NULL, CONF_TYPE_STRING_LIST, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)} const m_option_t mplayer_opts[]={ /* name, pointer, type, flags, min, max */ @@ -96,8 +97,8 @@ const m_option_t mplayer_opts[]={ //---------------------- libao/libvo options ------------------------ {"o", "Option -o has been renamed to -vo (video-out), use -vo.\n", 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}, + STRINGLIST("vo", video_driver_list, 0), + STRINGLIST("ao", audio_driver_list, 0), FLAG_ON("fixed-vo", fixed_vo, CONF_GLOBAL), FLAG_OFF("nofixed-vo", fixed_vo, CONF_GLOBAL), {"ontop", &vo_ontop, CONF_TYPE_FLAG, 0, 0, 1, NULL}, diff --git a/defaultopts.c b/defaultopts.c index 21ee1eaad9..bc8a930e42 100644 --- a/defaultopts.c +++ b/defaultopts.c @@ -1,9 +1,12 @@ +#include #include "defaultopts.h" #include "options.h" void set_default_mplayer_options(struct MPOpts *opts) { *opts = (const struct MPOpts){ + .audio_driver_list = NULL, + .video_driver_list = NULL, .fixed_vo = 0, }; } diff --git a/mplayer.c b/mplayer.c index 383ab1cf56..d06a400aa8 100644 --- a/mplayer.c +++ b/mplayer.c @@ -307,10 +307,6 @@ static int audio_output_format=-1; // AF_FORMAT_UNKNOWN static int play_n_frames=-1; static int play_n_frames_mf=-1; -// screen info: -char** video_driver_list=NULL; -char** audio_driver_list=NULL; - // sub: char *font_name=NULL; char *sub_font_name=NULL; @@ -1576,6 +1572,7 @@ static void update_osd_msg(void) { void reinit_audio_chain(void) { + struct MPOpts *opts = &mpctx->opts; if(mpctx->sh_audio){ current_module="init_audio_codec"; mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n"); @@ -1605,7 +1602,7 @@ if(mpctx->sh_audio){ } #endif current_module="ao2_init"; - if(!(mpctx->audio_out=init_best_audio_out(audio_driver_list, + if(!(mpctx->audio_out=init_best_audio_out(opts->audio_driver_list, 0, // plugin flag ao_data.samplerate, ao_data.channels, @@ -2136,7 +2133,7 @@ static int sleep_until_update(float *time_frame, float *aq_sleep_time) } int reinit_video_chain(void) { - MPOpts *opts = &mpctx->opts; + struct MPOpts *opts = &mpctx->opts; sh_video_t * const sh_video = mpctx->sh_video; double ar=-1.0; //================== Init VIDEO (codec & libvo) ========================== @@ -2146,7 +2143,7 @@ int reinit_video_chain(void) { //shouldn't we set dvideo->id=-2 when we fail? vo_config_count=0; //if((mpctx->video_out->preinit(vo_subdevice))!=0){ - if(!(mpctx->video_out=init_best_video_out(video_driver_list))){ + if(!(mpctx->video_out=init_best_video_out(opts->video_driver_list))){ mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_ErrorInitializingVODevice); goto err_out; } @@ -2564,7 +2561,7 @@ int gui_no_filename=0; mp_msg_init(); - MPOpts *opts = &mpctx->opts; + struct MPOpts *opts = &mpctx->opts; set_default_mplayer_options(opts); // Create the config context and register the options mconfig = m_config_new(opts); @@ -2677,12 +2674,12 @@ int gui_no_filename=0; } #endif /* HAVE_NEW_GUI */ - if(video_driver_list && strcmp(video_driver_list[0],"help")==0){ + if(opts->video_driver_list && strcmp(opts->video_driver_list[0],"help")==0){ list_video_out(); opt_exit = 1; } - if(audio_driver_list && strcmp(audio_driver_list[0],"help")==0){ + if(opts->audio_driver_list && strcmp(opts->audio_driver_list[0],"help")==0){ list_audio_out(); opt_exit = 1; } @@ -2946,10 +2943,10 @@ play_next_file: load_per_file_config (mconfig, filename); } - if (video_driver_list) - load_per_output_config (mconfig, PROFILE_CFG_VO, video_driver_list[0]); - if (audio_driver_list) - load_per_output_config (mconfig, PROFILE_CFG_AO, audio_driver_list[0]); + if (opts->video_driver_list) + load_per_output_config (mconfig, PROFILE_CFG_VO, opts->video_driver_list[0]); + if (opts->audio_driver_list) + load_per_output_config (mconfig, PROFILE_CFG_AO, opts->audio_driver_list[0]); // We must enable getch2 here to be able to interrupt network connection // or cache filling diff --git a/options.h b/options.h index d9061add1a..0a13dc6080 100644 --- a/options.h +++ b/options.h @@ -2,6 +2,8 @@ #define MPLAYER_OPTIONS_H typedef struct MPOpts { + char **video_driver_list; + char **audio_driver_list; int fixed_vo; } MPOpts; -- cgit v1.2.3