diff options
-rw-r--r-- | src/audio.c | 22 | ||||
-rw-r--r-- | src/audio.h | 13 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/audio.c b/src/audio.c index 7f51a31d9..c0ead9ddc 100644 --- a/src/audio.c +++ b/src/audio.c @@ -45,6 +45,28 @@ unsigned int audio_output_count(void) return audioOutputArraySize; } +struct audio_output * +audio_output_get(unsigned i) +{ + assert(i < audioOutputArraySize); + + return &audioOutputArray[i]; +} + +struct audio_output * +audio_output_find(const char *name) +{ + for (unsigned i = 0; i < audioOutputArraySize; ++i) { + struct audio_output *ao = audio_output_get(i); + + if (strcmp(ao->name, name) == 0) + return ao; + } + + /* name not found */ + return NULL; +} + static unsigned audio_output_config_count(void) { diff --git a/src/audio.h b/src/audio.h index c42d27d5e..2bffa7d41 100644 --- a/src/audio.h +++ b/src/audio.h @@ -35,6 +35,19 @@ struct config_param; */ unsigned int audio_output_count(void); +/** + * Returns the "i"th audio output device. + */ +struct audio_output * +audio_output_get(unsigned i); + +/** + * Returns the audio output device with the specified name. Returns + * NULL if the name does not exist. + */ +struct audio_output * +audio_output_find(const char *name); + void getOutputAudioFormat(const struct audio_format *inFormat, struct audio_format *outFormat); |