internal static List<AudioOutputDescription> GetSubOutputDescription(AudioOutputDescriptionStructure module, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance) { var result = new List<AudioOutputDescription>(); result.Add(new AudioOutputDescription(module.Name, module.Description, manager, mediaPlayerInstance)); if (module.NextAudioOutputDescription != IntPtr.Zero) { AudioOutputDescriptionStructure nextModule = (AudioOutputDescriptionStructure)Marshal.PtrToStructure(module.NextAudioOutputDescription, typeof(AudioOutputDescriptionStructure)); var data = GetSubOutputDescription(nextModule, manager, mediaPlayerInstance); result.AddRange(data); } return result; }
public void ReleaseAudioOutputDescription(AudioOutputDescriptionStructure description) { GetInteropDelegate<ReleaseAudioOutputDescription>().Invoke(description); }
public void SetAudioOutput(AudioOutputDescriptionStructure output) { SetAudioOutput(output.Name); }