/** * Get the devices associated with an audio output. * * @param outputName output * @return collection of audio output devices */ private List <AudioDevice> GetAudioOutputDevices(string outputName) { Logger.Debug("GetAudioOutputDevices(outputName={})", outputName); IntPtr outputNamePtr = NativeString.StringPointer(outputName); int deviceCount = LibVlc.libvlc_audio_output_device_count(instance, outputNamePtr); Logger.Debug("deviceCount={}", deviceCount); List <AudioDevice> result = new List <AudioDevice>(deviceCount); for (int i = 0; i < deviceCount; i++) { string deviceId = NativeString.GetNativeString(LibVlc.libvlc_audio_output_device_id(instance, outputNamePtr, i)); string longName = NativeString.GetNativeString(LibVlc.libvlc_audio_output_device_longname(instance, outputNamePtr, i)); result.Add(new AudioDevice(deviceId, longName)); } return(result); }