static switch_status_t devlist(char **argv, int argc, switch_stream_handle_t *stream)
{
- int i, numDevices;
+ int i, numDevices, prev;
const PaDeviceInfo *deviceInfo;
numDevices = Pa_GetDeviceCount();
}
for (i = 0; i < numDevices; i++) {
deviceInfo = Pa_GetDeviceInfo(i);
- stream->write_function(stream, "%d;%s;%d;%d\n", i, deviceInfo->name, deviceInfo->maxInputChannels, deviceInfo->maxOutputChannels);
+ stream->write_function(stream, "%d;%s;%d;%d;", i, deviceInfo->name, deviceInfo->maxInputChannels, deviceInfo->maxOutputChannels);
+
+ prev = 0;
+ if (globals.ringdev == i) {
+ stream->write_function(stream, "r");
+ prev = 1;
+ }
+
+ if (globals.indev == i) {
+ if (prev) {
+ stream->write_function(stream, ",");
+ }
+ stream->write_function(stream, "i");
+ prev = 1;
+ }
+
+ if (globals.outdev == i) {
+ if (prev) {
+ stream->write_function(stream, ",");
+ }
+ stream->write_function(stream, "o");
+ prev = 1;
+ }
+
+ stream->write_function(stream, "\n");
+
}
return SWITCH_STATUS_SUCCESS;