command: added command "decoders"

This command prints a list of decoder plugins and their suffixes /
MIME types.
This commit is contained in:
Max Kellermann 2009-11-07 15:57:22 +01:00
parent 4624dfcb30
commit 2f1bd39be8
3 changed files with 31 additions and 0 deletions

View File

@ -81,6 +81,7 @@ mpd_headers = \
src/dirvec.h \
src/gcc.h \
src/decoder_list.h \
src/decoder_print.h \
src/decoder/_flac_common.h \
src/decoder/_ogg_common.h \
src/input_plugin.h \
@ -212,6 +213,7 @@ src_mpd_SOURCES = \
src/decoder_control.c \
src/decoder_api.c \
src/decoder_internal.c \
src/decoder_print.c \
src/directory.c \
src/directory_save.c \
src/directory_print.c \

View File

@ -1589,6 +1589,25 @@ OK
</para>
</listitem>
</varlistentry>
<varlistentry id="command_decoders">
<term>
<cmdsynopsis>
<command>decoders</command>
</cmdsynopsis>
</term>
<listitem>
<para>
Print a list of decoder plugins, followed by their
supported suffixes and MIME types. Example response:
</para>
<programlisting>plugin: mad
suffix: mp3
suffix: mp2
mime_type: audio/mpeg
plugin: mpcdec
suffix: mpc</programlisting>
</listitem>
</varlistentry>
</variablelist>
</section>
</chapter>

View File

@ -26,6 +26,7 @@
#include "queue_print.h"
#include "ls.h"
#include "uri.h"
#include "decoder_print.h"
#include "directory.h"
#include "directory_print.h"
#include "database.h"
@ -388,6 +389,14 @@ handle_urlhandlers(struct client *client,
return COMMAND_RETURN_OK;
}
static enum command_return
handle_decoders(struct client *client,
G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[])
{
decoder_list_print(client);
return COMMAND_RETURN_OK;
}
static enum command_return
handle_tagtypes(struct client *client,
G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[])
@ -1755,6 +1764,7 @@ static const struct command commands[] = {
{ "count", PERMISSION_READ, 2, -1, handle_count },
{ "crossfade", PERMISSION_CONTROL, 1, 1, handle_crossfade },
{ "currentsong", PERMISSION_READ, 0, 0, handle_currentsong },
{ "decoders", PERMISSION_READ, 0, 0, handle_decoders },
{ "delete", PERMISSION_CONTROL, 1, 1, handle_delete },
{ "deleteid", PERMISSION_CONTROL, 1, 1, handle_deleteid },
{ "disableoutput", PERMISSION_ADMIN, 1, 1, handle_disableoutput },