diff options
author | Viliam Mateicka <viliam.mateicka@gmail.com> | 2009-11-17 20:39:26 +0100 |
---|---|---|
committer | Viliam Mateicka <viliam.mateicka@gmail.com> | 2009-11-17 20:39:26 +0100 |
commit | d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d (patch) | |
tree | ed402ada2f59893cfe1e1225c42c6908cff57cb3 | |
parent | ea92dee1aedd2e6186e8de2e70ba6bf45ec5298d (diff) | |
download | mpd-d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d.tar.gz mpd-d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d.tar.xz mpd-d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d.zip |
cmdline: print out list of encoders in --version info
Diffstat (limited to '')
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/cmdline.c | 11 | ||||
-rw-r--r-- | src/encoder_list.c | 10 | ||||
-rw-r--r-- | src/encoder_list.h | 5 |
4 files changed, 30 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 486f1d85b..93f062068 100644 --- a/configure.ac +++ b/configure.ac @@ -1173,6 +1173,10 @@ if test x$enable_httpd_output = xyes; then fi AM_CONDITIONAL(ENABLE_ENCODER, test x$enable_encoder = xyes) +if test x$enable_encoder = xyes; then + AC_DEFINE(ENABLE_ENCODER, 1, + [Define to enable the encoder plugins]) +fi AM_CONDITIONAL(ENABLE_VORBIS_ENCODER, test x$enable_vorbis_encoder = xyes) if test x$enable_vorbis_encoder = xyes; then diff --git a/src/cmdline.c b/src/cmdline.c index 48b16325e..908e8f27d 100644 --- a/src/cmdline.c +++ b/src/cmdline.c @@ -27,6 +27,10 @@ #include "output_list.h" #include "ls.h" +#ifdef ENABLE_ENCODER +#include "encoder_list.h" +#endif + #ifdef ENABLE_ARCHIVE #include "archive_list.h" #endif @@ -82,6 +86,13 @@ static void version(void) "Supported outputs:\n"); audio_output_plugin_print_all_types(stdout); +#ifdef ENABLE_ENCODER + puts("\n" + "Supported encoders:\n"); + encoder_plugin_print_all_types(stdout); +#endif + + #ifdef ENABLE_ARCHIVE puts("\n" "Supported archives:\n"); diff --git a/src/encoder_list.c b/src/encoder_list.c index d5f0db65a..d86753d50 100644 --- a/src/encoder_list.c +++ b/src/encoder_list.c @@ -59,3 +59,13 @@ encoder_plugin_get(const char *name) return NULL; } + +void +encoder_plugin_print_all_types(FILE * fp) +{ + for (unsigned i = 0; encoder_plugins[i] != NULL; ++i) + fprintf(fp, "%s ", encoder_plugins[i]->name); + + fprintf(fp, "\n"); + fflush(fp); +} diff --git a/src/encoder_list.h b/src/encoder_list.h index bc20ad8c5..26caab242 100644 --- a/src/encoder_list.h +++ b/src/encoder_list.h @@ -20,6 +20,8 @@ #ifndef MPD_ENCODER_LIST_H #define MPD_ENCODER_LIST_H +#include <stdio.h> + struct encoder_plugin; /** @@ -32,4 +34,7 @@ struct encoder_plugin; const struct encoder_plugin * encoder_plugin_get(const char *name); +void +encoder_plugin_print_all_types(FILE * fp); + #endif |