[asterisk-commits] russell: branch russell/chan_console r49031 -
/team/russell/chan_console/chan...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Thu Dec 28 13:35:34 MST 2006
Author: russell
Date: Thu Dec 28 14:35:34 2006
New Revision: 49031
URL: http://svn.digium.com/view/asterisk?view=rev&rev=49031
Log:
Add a CLI command, "console list devices", which will list all available
audio devices, as well as which one is the default input device and which
is the default output device.
Modified:
team/russell/chan_console/channels/chan_console.c
Modified: team/russell/chan_console/channels/chan_console.c
URL: http://svn.digium.com/view/asterisk/team/russell/chan_console/channels/chan_console.c?view=diff&rev=49031&r1=49030&r2=49031
==============================================================================
--- team/russell/chan_console/channels/chan_console.c (original)
+++ team/russell/chan_console/channels/chan_console.c Thu Dec 28 14:35:34 2006
@@ -492,9 +492,49 @@
return CLI_SUCCESS;
}
+static char *cli_list_devices(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+ PaDeviceIndex index, num, def_input, def_output;
+
+ if (cmd == CLI_INIT) {
+ e->command = "console list devices";
+ e->usage =
+ "Usage: console list devices\n"
+ " List all available devices.\n";
+ return NULL;
+ } else if (cmd == CLI_GENERATE)
+ return NULL;
+
+ if (a->argc != e->args)
+ return CLI_SHOWUSAGE;
+
+ ast_cli(a->fd, "Available Devices:\n---------------------------------\n");
+
+ num = Pa_GetDeviceCount();
+ if (!num) {
+ ast_cli(a->fd, "(None)\n");
+ return CLI_SUCCESS;
+ }
+ def_input = Pa_GetDefaultInputDevice();
+ def_output = Pa_GetDefaultOutputDevice();
+ for (index = 0; index < num; index++) {
+ const PaDeviceInfo *dev = Pa_GetDeviceInfo(index);
+ if (!dev)
+ continue;
+ ast_cli(a->fd, "Device Name: %s\n", dev->name);
+ if (index == def_input)
+ ast_cli(a->fd, " ---> Default Input Device\n");
+ if (index == def_output)
+ ast_cli(a->fd, " ---> Default Output Device\n");
+ }
+
+ return CLI_SUCCESS;
+}
+
static struct ast_cli_entry cli_console[] = {
NEW_CLI(cli_console_dial, "Dial an extension from the console"),
NEW_CLI(cli_console_hangup, "Hangup a call on the console"),
+ NEW_CLI(cli_list_devices, "List available devices"),
};
static int start_stream(void)
More information about the asterisk-commits
mailing list