diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 983c1ddb5a..6e83ca75f4 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -2766,6 +2766,9 @@ Skip FFmpeg's MP3 decoder. .B \-af Activate a comma separated list of audio filters and their options. Also see the audio filters section of the documentation. +.br +.I NOTE: +To get a full list of available audio filters, see \-af help. .sp 1 Available filters are: .RSs diff --git a/libaf/af.c b/libaf/af.c index 10ee1660bb..5728095ab3 100644 --- a/libaf/af.c +++ b/libaf/af.c @@ -610,3 +610,11 @@ int af_control_any_rev (af_stream_t* s, int cmd, void* arg) { return (res == AF_OK); } +void af_help (void) { + int i = 0; + while (filter_list[i]) { + af_msg(AF_MSG_INFO, " %-15s: %s\n", filter_list[i]->name, filter_list[i]->info); + i++; + } +} + diff --git a/libaf/af.h b/libaf/af.h index 003412d504..05e277d58c 100644 --- a/libaf/af.h +++ b/libaf/af.h @@ -205,6 +205,9 @@ int af_to_ms(int n, int* in, float* out, int rate); /* Helper function for testing the output format */ int af_test_output(struct af_instance_s* af, af_data_t* out); +/** Print a list of all available audio filters */ +void af_help(void); + /* Memory reallocation macro: if a local buffer is used (i.e. if the filter doesn't operate on the incoming buffer this macro must be called to ensure the buffer is big enough. */ diff --git a/mplayer.c b/mplayer.c index d64edb97c9..c092c7ac4e 100644 --- a/mplayer.c +++ b/mplayer.c @@ -950,6 +950,11 @@ if(!codecs_file || !parse_codec_cfg(codecs_file)){ printf("\n"); exit(0); } + if(af_cfg.list && strcmp(af_cfg.list[0],"help")==0){ + af_help(); + printf("\n"); + exit(0); + } #ifdef HAVE_X11 if(vo_fstype_list && strcmp(vo_fstype_list[0],"help")==0){ fstype_help();