+ int (*device_enum)(audio_output_t *, char ***ids, char ***names);
+ /**< Enumerates available audio output devices (optional, may be NULL).
+ * \param ids pointer to a heap-allocated table of heap-allocated
+ * nul-terminated device unique identifiers [OUT]
+ * \param names pointer to a heap-allocated table of heap-allocated
+ * nul-terminated device human-readable names [OUT]
+ * \return The number of entries, or -1 on error.
+ * \warning A stream may or may not have been started when called.
+ */
+ int (*device_select)(audio_output_t *, const char *id);
+ /**< Selects an audio output device (optional, may be NULL).
+ * \param id nul-terminated device unique identifier.
+ * \return 0 on success, non-zero on failure.
+ * \warning A stream may or may not have been started when called.
+ */