aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViliam Mateicka <viliam.mateicka@gmail.com>2009-11-17 20:39:26 +0100
committerViliam Mateicka <viliam.mateicka@gmail.com>2009-11-17 20:39:26 +0100
commitd37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d (patch)
treeed402ada2f59893cfe1e1225c42c6908cff57cb3
parentea92dee1aedd2e6186e8de2e70ba6bf45ec5298d (diff)
downloadmpd-d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d.tar.gz
mpd-d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d.tar.xz
mpd-d37b4bb199cbe5c34ad8bcf36be26cd7c3caa11d.zip
cmdline: print out list of encoders in --version info
-rw-r--r--configure.ac4
-rw-r--r--src/cmdline.c11
-rw-r--r--src/encoder_list.c10
-rw-r--r--src/encoder_list.h5
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