summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-01-24 11:34:24 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-01-24 11:34:24 +0000
commit7f289744339f079b91ea4f04ea2b0c614b51bd95 (patch)
tree6e571815c33a086d1ce768d3ded79d56e6fffd59
parentd4d62bbc657d3e5105336642fff1d58f6e7d15d8 (diff)
downloadmpv-7f289744339f079b91ea4f04ea2b0c614b51bd95.tar.bz2
mpv-7f289744339f079b91ea4f04ea2b0c614b51bd95.tar.xz
Make -list-options work in both MPlayer and MEncoder.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17473 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--DOCS/man/en/mplayer.18
-rw-r--r--m_config.c11
-rw-r--r--parser-mpcmd.c7
3 files changed, 17 insertions, 9 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 6c92e19045..9ea8141e1b 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -573,6 +573,10 @@ instead of the builtin codecs.conf.
Specify configuration file to be parsed after the default ones.
.
.TP
+.B \-list-options
+Prints all available options.
+.
+.TP
.B \-msglevel <all=<level>:<module>=<level>:...>
Control verbosity directly for each module.
The 'all' module changes the verbosity of all the modules not
@@ -812,10 +816,6 @@ set it to 2 for Linux or 1024 for Windows.
Specifies a configuration file for LIRC (default: ~/\:.lircrc).
.
.TP
-.B \-list-options
-Prints all available options.
-.
-.TP
.B \-loop <number>
Loops movie playback <number> times.
0 means forever.
diff --git a/m_config.c b/m_config.c
index 78ba5a3567..4973f5afe0 100644
--- a/m_config.c
+++ b/m_config.c
@@ -27,6 +27,9 @@ show_profile(m_option_t *opt, char* name, char *param);
static void
m_config_add_option(m_config_t *config, m_option_t *arg, char* prefix);
+static int
+list_options(m_option_t *opt, char* name, char *param);
+
m_config_t*
m_config_new(void) {
m_config_t* config;
@@ -35,6 +38,7 @@ m_config_new(void) {
static m_option_t ref_opts[] = {
{ "profile", NULL, &profile_opt_type, CONF_NOSAVE, 0, 0, NULL },
{ "show-profile", show_profile, CONF_TYPE_PRINT_FUNC, CONF_NOCFG, 0, 0, NULL },
+ { "list-options", list_options, CONF_TYPE_PRINT_FUNC, CONF_NOCFG, 0, 0, NULL },
{ NULL, NULL, NULL, 0, 0, 0, NULL }
};
int i;
@@ -576,3 +580,10 @@ show_profile(m_option_t *opt, char* name, char *param) {
if(!config->profile_depth) mp_msg(MSGT_CFGPARSER, MSGL_INFO, "\n");
return M_OPT_EXIT-1;
}
+
+static int
+list_options(m_option_t *opt, char* name, char *param) {
+ m_config_t* config = opt->priv;
+ m_config_print_option_list(config);
+ return M_OPT_EXIT;
+}
diff --git a/parser-mpcmd.c b/parser-mpcmd.c
index 67b579b644..2eecb59896 100644
--- a/parser-mpcmd.c
+++ b/parser-mpcmd.c
@@ -136,11 +136,8 @@ m_config_parse_mp_command_line(m_config_t *config, int argc, char **argv)
mp_msg(MSGT_CFGPARSER, MSGL_DBG3, "this_opt = option: %s\n", opt);
// We handle here some specific option
- if(strcasecmp(opt,"list-options") == 0) {
- m_config_print_option_list(config);
- exit(1);
- // Loop option when it apply to a group
- } else if(strcasecmp(opt,"loop") == 0 &&
+ // Loop option when it apply to a group
+ if(strcasecmp(opt,"loop") == 0 &&
(! last_entry || last_entry->child) ) {
int l;
char* end;