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); }
/// <summary> /// Helper method that creates a user friendly type from the internal interop structure. /// </summary> /// <param name="s">AudioOutputDescriptionStructure from interop</param> /// <returns>public AudioOutputDescription to be consumed by the user</returns> internal static AudioOutputDescription Build(this AudioOutputDescriptionStructure s) =>
public void SetAudioOutput(AudioOutputDescriptionStructure output) { SetAudioOutput(output.Name); }
public void ReleaseAudioOutputDescription(AudioOutputDescriptionStructure description) { GetInteropDelegate <ReleaseAudioOutputDescription>().Invoke(description); }
/// <summary> /// Helper method that creates a user friendly type from the internal interop structure. /// </summary> /// <param name="s">AudioOutputDescriptionStructure from interop</param> /// <returns>public AudioOutputDescription to be consumed by the user</returns> internal static AudioOutputDescription Build(this AudioOutputDescriptionStructure s) => new AudioOutputDescription(Utf8StringMarshaler.GetInstance().MarshalNativeToManaged(s.Name) as string, Utf8StringMarshaler.GetInstance().MarshalNativeToManaged(s.Description) as string);
/// <summary> /// Helper method that creates a user friendly type from the internal interop structure. /// </summary> /// <param name="s">AudioOutputDescriptionStructure from interop</param> /// <returns>public AudioOutputDescription to be consumed by the user</returns> internal static AudioOutputDescription Build(this AudioOutputDescriptionStructure s) => new AudioOutputDescription(s.Name.FromUtf8(), s.Description.FromUtf8());
public int SetAudioOutput(VlcMediaPlayerInstance mediaPlayerInstance, AudioOutputDescriptionStructure output) { return(SetAudioOutput(mediaPlayerInstance, output.Name)); }