diff options
author | wm4 <wm4@nowhere> | 2013-07-21 21:17:48 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-07-21 23:27:31 +0200 |
commit | c1afd751428741a2b0077cc82a5fb68c6b672009 (patch) | |
tree | 37662fa75aa5b7bdcba04b3fbf6ac4fc33489038 /core | |
parent | 999dad454f6db2c3d52e9594778bccc03156d299 (diff) | |
download | mpv-c1afd751428741a2b0077cc82a5fb68c6b672009.tar.bz2 mpv-c1afd751428741a2b0077cc82a5fb68c6b672009.tar.xz |
options: use new code for parsing --vo
Nothing should change from user perspective.
mpv --vo=opengl:help now works.
Remove the vo_opengl inline help text. The new code can list option
names for you, but that's it. Refer to the manpage if you have trouble.
Diffstat (limited to 'core')
-rw-r--r-- | core/mplayer.c | 10 | ||||
-rw-r--r-- | core/options.c | 3 | ||||
-rw-r--r-- | core/options.h | 2 |
3 files changed, 7 insertions, 8 deletions
diff --git a/core/mplayer.c b/core/mplayer.c index c2efe82f13..6fdc6edba5 100644 --- a/core/mplayer.c +++ b/core/mplayer.c @@ -700,6 +700,9 @@ static void load_per_output_config(m_config_t *conf, char *cfg, char *out) char profile[strlen(cfg) + strlen(out) + 1]; m_profile_t *p; + if (!out && !out[0]) + return; + sprintf(profile, "%s%s", cfg, out); p = m_config_get_profile(conf, profile); if (p) { @@ -4102,7 +4105,7 @@ static void play_current_file(struct MPContext *mpctx) if (opts->vo.video_driver_list) load_per_output_config(mpctx->mconfig, PROFILE_CFG_VO, - opts->vo.video_driver_list[0]); + opts->vo.video_driver_list[0].name); if (opts->audio_driver_list) load_per_output_config(mpctx->mconfig, PROFILE_CFG_AO, opts->audio_driver_list[0]); @@ -4492,11 +4495,6 @@ static bool handle_help_options(struct MPContext *mpctx) { struct MPOpts *opts = &mpctx->opts; int opt_exit = 0; - if (opts->vo.video_driver_list && - strcmp(opts->vo.video_driver_list[0], "help") == 0) { - list_video_out(); - opt_exit = 1; - } if (opts->audio_driver_list && strcmp(opts->audio_driver_list[0], "help") == 0) { list_audio_out(); diff --git a/core/options.c b/core/options.c index 854f1bd0cb..3c0bf213a1 100644 --- a/core/options.c +++ b/core/options.c @@ -182,6 +182,7 @@ extern char *dvd_device, *cdrom_device; extern double mf_fps; extern char * mf_type; extern const struct m_obj_list vf_obj_list; +extern const struct m_obj_list vo_obj_list; static const m_option_t mfopts_conf[]={ {"fps", &mf_fps, CONF_TYPE_DOUBLE, 0, 0, 0, NULL}, @@ -518,7 +519,7 @@ const m_option_t mp_opts[] = { OPT_SUBSTRUCT("sub-text", sub_text_style, osd_style_conf, 0), //---------------------- libao/libvo options ------------------------ - OPT_STRINGLIST("vo", vo.video_driver_list, 0), + OPT_SETTINGSLIST("vo", vo.video_driver_list, 0, &vo_obj_list), OPT_STRINGLIST("ao", audio_driver_list, 0), OPT_FLAG("fixed-vo", fixed_vo, CONF_GLOBAL), OPT_FLAG("ontop", vo.ontop, 0), diff --git a/core/options.h b/core/options.h index b1f624d930..f70f7f8553 100644 --- a/core/options.h +++ b/core/options.h @@ -6,7 +6,7 @@ #include "core/m_option.h" typedef struct mp_vo_opts { - char **video_driver_list; + struct m_obj_settings *video_driver_list; int screenwidth; int screenheight; |