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);
        }
Esempio n. 2
0
 /// <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) =>
Esempio n. 3
0
 public void SetAudioOutput(AudioOutputDescriptionStructure output)
 {
     SetAudioOutput(output.Name);
 }
 public void ReleaseAudioOutputDescription(AudioOutputDescriptionStructure description)
 {
     GetInteropDelegate <ReleaseAudioOutputDescription>().Invoke(description);
 }
Esempio n. 5
0
 /// <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);
Esempio n. 6
0
 /// <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));
 }