+ config_PutPsz( p_instance->p_libvlc_int, "aout", psz_name );
+ return true;
+ }
+ else
+ return false;
+}
+
+/****************************
+ * Get count of devices.
+ *****************************/
+int libvlc_audio_output_device_count( libvlc_instance_t *p_instance,
+ const char *psz_audio_output )
+{
+ char *psz_config_name;
+ if( !psz_audio_output )
+ return 0;
+ if( asprintf( &psz_config_name, "%s-audio-device", psz_audio_output ) == -1 )
+ return 0;
+
+ module_config_t *p_module_config = config_FindConfig(
+ VLC_OBJECT( p_instance->p_libvlc_int ), psz_config_name );
+
+ if( p_module_config && p_module_config->pf_update_list )
+ {
+ vlc_value_t val;
+ val.psz_string = strdup( p_module_config->value.psz );
+
+ p_module_config->pf_update_list(
+ VLC_OBJECT( p_instance->p_libvlc_int ), psz_config_name, val, val, NULL );
+ free( val.psz_string );
+ free( psz_config_name );
+
+ return p_module_config->i_list;
+ }
+
+ free( psz_config_name );
+ return 0;
+}
+
+/********************************
+ * Get long name of device
+ *********************************/
+char * libvlc_audio_output_device_longname( libvlc_instance_t *p_instance,
+ const char *psz_audio_output,
+ int i_device )
+{
+ char *psz_config_name;
+ if( !psz_audio_output )