Created
October 10, 2017 12:21
-
-
Save mfkl/05e52cb85750fd84c18b507602c4ddb0 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ---------------------------------------------------------------------------- | |
// <auto-generated> | |
// This is autogenerated code by CppSharp. | |
// Do not edit this file or all your changes will be lost after re-generation. | |
// </auto-generated> | |
// ---------------------------------------------------------------------------- | |
using System; | |
using System.Runtime.InteropServices; | |
using System.Security; | |
namespace libvlcpp | |
{ | |
public unsafe partial class Pollfd | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.Pollfd> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.Pollfd>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.Pollfd __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.Pollfd(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.Pollfd __CreateInstance(global::libvlcpp.Pollfd.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.Pollfd(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.Pollfd.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.Pollfd.__Internal)); | |
*(global::libvlcpp.Pollfd.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private Pollfd(global::libvlcpp.Pollfd.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected Pollfd(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class vlc | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?poll@@YAHPEAUpollfd@@IH@Z")] | |
internal static extern int Poll(global::System.IntPtr _0, uint _1, int _2); | |
} | |
public static int Poll(global::libvlcpp.Pollfd _0, uint _1, int _2) | |
{ | |
var __arg0 = ReferenceEquals(_0, null) ? global::System.IntPtr.Zero : _0.__Instance; | |
var __ret = __Internal.Poll(__arg0, _1, _2); | |
return __ret; | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class CallbackHandlerBase : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr vfptr_CallbackHandlerBase; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0CallbackHandlerBase@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0CallbackHandlerBase@VLC@@QEAA@AEBU01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.CallbackHandlerBase> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.CallbackHandlerBase>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.CallbackHandlerBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.CallbackHandlerBase(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.CallbackHandlerBase __CreateInstance(global::libvlcpp.VLC.CallbackHandlerBase.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.CallbackHandlerBase(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.CallbackHandlerBase.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.CallbackHandlerBase.__Internal)); | |
global::libvlcpp.VLC.CallbackHandlerBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private CallbackHandlerBase(global::libvlcpp.VLC.CallbackHandlerBase.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected CallbackHandlerBase(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
if (skipVTables) | |
__OriginalVTables = new void*[] { *(void**) (__Instance + 0) }; | |
else | |
SetupVTables(true); | |
} | |
public CallbackHandlerBase() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.CallbackHandlerBase.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance + __PointerAdjustment)); | |
SetupVTables(GetType().FullName == "libvlcpp.VLC.CallbackHandlerBase"); | |
} | |
public CallbackHandlerBase(global::libvlcpp.VLC.CallbackHandlerBase _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.CallbackHandlerBase.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
SetupVTables(GetType().FullName == "libvlcpp.VLC.CallbackHandlerBase"); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.CallbackHandlerBase __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
((global::libvlcpp.VLC.CallbackHandlerBase.__Internal*) __Instance)->vfptr_CallbackHandlerBase = new global::System.IntPtr(__OriginalVTables[0]); | |
if (disposing) | |
{ | |
var __slot = *(void**) ((IntPtr) __OriginalVTables[0] + 1 * 8); | |
var ___dtorDelegate = (global::libvlcpp.Delegates.Action_IntPtr_int) Marshal.GetDelegateForFunctionPointer(new IntPtr(__slot), typeof(global::libvlcpp.Delegates.Action_IntPtr_int)); | |
___dtorDelegate((__Instance + __PointerAdjustment), 0); | |
} | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
#region Virtual table interop | |
// virtual ~CallbackHandlerBase() = default | |
private static global::libvlcpp.Delegates.Action_IntPtr_int _dtorDelegateInstance; | |
private static void _dtorDelegateHook(global::System.IntPtr instance, int delete) | |
{ | |
if (!NativeToManagedMap.ContainsKey(instance)) | |
throw new global::System.Exception("No managed instance was found"); | |
var __target = (global::libvlcpp.VLC.CallbackHandlerBase) NativeToManagedMap[instance]; | |
if (__target.__ownsNativeInstance) | |
__target.SetupVTables(); | |
__target.Dispose(true); | |
} | |
private static void*[] __ManagedVTables; | |
private static void*[] __ManagedVTablesDtorOnly; | |
private static void*[] _Thunks; | |
private void SetupVTables(bool destructorOnly = false) | |
{ | |
if (__OriginalVTables != null) | |
return; | |
__OriginalVTables = new void*[] { *(void**) (__Instance + 0) }; | |
if (_Thunks == null) | |
{ | |
_Thunks = new void*[1]; | |
_dtorDelegateInstance += _dtorDelegateHook; | |
_Thunks[0] = Marshal.GetFunctionPointerForDelegate(_dtorDelegateInstance).ToPointer(); | |
} | |
if (destructorOnly) | |
{ | |
if (__ManagedVTablesDtorOnly == null) | |
{ | |
__ManagedVTablesDtorOnly = new void*[1]; | |
var vfptr0 = Marshal.AllocHGlobal(2 * 8); | |
__ManagedVTablesDtorOnly[0] = vfptr0.ToPointer(); | |
*(void**) (vfptr0 + 0) = *(void**) (new IntPtr(*(void**) __Instance) + 0 + 0); | |
*(void**) (vfptr0 + 8) = _Thunks[0]; | |
} | |
*(void**) (__Instance + 0) = __ManagedVTablesDtorOnly[0]; | |
} | |
else | |
{ | |
if (__ManagedVTables == null) | |
{ | |
__ManagedVTables = new void*[1]; | |
var vfptr0 = Marshal.AllocHGlobal(2 * 8); | |
__ManagedVTables[0] = vfptr0.ToPointer(); | |
*(void**) (vfptr0 + 0) = *(void**) (new IntPtr(*(void**) __Instance) + 0 + 0); | |
*(void**) (vfptr0 + 8) = _Thunks[0]; | |
} | |
*(void**) (__Instance + 0) = __ManagedVTables[0]; | |
} | |
} | |
#endregion | |
} | |
public unsafe partial class VaCopy : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal va_list va; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0VaCopy@VLC@@QEAA@AEBU01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1VaCopy@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.VaCopy> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.VaCopy>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.VaCopy __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.VaCopy(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.VaCopy __CreateInstance(global::libvlcpp.VLC.VaCopy.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.VaCopy(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.VaCopy.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VaCopy.__Internal)); | |
*(global::libvlcpp.VLC.VaCopy.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private VaCopy(global::libvlcpp.VLC.VaCopy.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected VaCopy(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public VaCopy(global::libvlcpp.VLC.VaCopy _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VaCopy.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.VLC.VaCopy.__Internal*) __Instance) = *((global::libvlcpp.VLC.VaCopy.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.VaCopy __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
} | |
namespace Detail | |
{ | |
public unsafe partial class common | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??$converterForNullToString@PEBD@detail@VLC@@YA$$QEAPEBD$$QEAPEBD@Z")] | |
internal static extern sbyte** ConverterForNullToString(sbyte** str); | |
} | |
public static sbyte** ConverterForNullToString(sbyte** str) | |
{ | |
var __ret = __Internal.ConverterForNullToString(str); | |
return __ret; | |
} | |
} | |
} | |
namespace Imem | |
{ | |
public enum BoxingStrategy | |
{ | |
/// <summary>No boxing required.</summary> | |
NoBoxing = 0, | |
/// <summary>Used to create the Opaque wrapper and setup pointers</summary> | |
Setup = 1, | |
/// <summary>Unbox CallbackArray/user callback pointers</summary> | |
Unbox = 2, | |
/// <summary>Releases the Opaque, created during Setup</summary> | |
Cleanup = 3 | |
} | |
} | |
} | |
/// <summary>Logging messages level.</summary> | |
/// <remarks>Future LibVLC versions may define new levels.</remarks> | |
public enum LibvlcLogLevel | |
{ | |
/// <summary>Debug message</summary> | |
LIBVLC_DEBUG = 0, | |
/// <summary>Important informational message</summary> | |
LIBVLC_NOTICE = 2, | |
/// <summary>Warning (potential error) message</summary> | |
LIBVLC_WARNING = 3, | |
/// <summary>Error message</summary> | |
LIBVLC_ERROR = 4 | |
} | |
/// <summary>This structure is opaque. It represents a libvlc instance</summary> | |
/// <summary> | |
/// <para>Event manager that belongs to a libvlc object, and from whom events can</para> | |
/// <para>be received.</para> | |
/// </summary> | |
/// <summary>Type of a LibVLC event.</summary> | |
/// <summary>Callback function notification</summary> | |
/// <param name="p_event">the event triggering the callback</param> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcCallbackT(global::System.IntPtr p_event, global::System.IntPtr p_data); | |
public unsafe partial class LibvlcInstanceT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcInstanceT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcInstanceT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcInstanceT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcInstanceT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcInstanceT __CreateInstance(global::libvlcpp.LibvlcInstanceT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcInstanceT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcInstanceT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcInstanceT.__Internal)); | |
*(global::libvlcpp.LibvlcInstanceT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcInstanceT(global::libvlcpp.LibvlcInstanceT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcInstanceT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class LibvlcEventManagerT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcEventManagerT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcEventManagerT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcEventManagerT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcEventManagerT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcEventManagerT __CreateInstance(global::libvlcpp.LibvlcEventManagerT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcEventManagerT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcEventManagerT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcEventManagerT.__Internal)); | |
*(global::libvlcpp.LibvlcEventManagerT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcEventManagerT(global::libvlcpp.LibvlcEventManagerT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcEventManagerT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class VlcLogT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VlcLogT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VlcLogT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VlcLogT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VlcLogT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VlcLogT __CreateInstance(global::libvlcpp.VlcLogT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VlcLogT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VlcLogT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VlcLogT.__Internal)); | |
*(global::libvlcpp.VlcLogT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private VlcLogT(global::libvlcpp.VlcLogT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected VlcLogT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
/// <summary>Description of a module.</summary> | |
public unsafe partial class LibvlcModuleDescriptionT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_shortname; | |
[FieldOffset(16)] | |
internal global::System.IntPtr psz_longname; | |
[FieldOffset(24)] | |
internal global::System.IntPtr psz_help; | |
[FieldOffset(32)] | |
internal global::System.IntPtr p_next; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_module_description_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcModuleDescriptionT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcModuleDescriptionT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcModuleDescriptionT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcModuleDescriptionT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcModuleDescriptionT __CreateInstance(global::libvlcpp.LibvlcModuleDescriptionT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcModuleDescriptionT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcModuleDescriptionT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcModuleDescriptionT.__Internal)); | |
*(global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcModuleDescriptionT(global::libvlcpp.LibvlcModuleDescriptionT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcModuleDescriptionT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcModuleDescriptionT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcModuleDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcModuleDescriptionT(global::libvlcpp.LibvlcModuleDescriptionT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcModuleDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcModuleDescriptionT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszShortname | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_shortname; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_shortname = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszLongname | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_longname; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_longname = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszHelp | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_help; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->psz_help = (global::System.IntPtr) value; | |
} | |
} | |
public global::libvlcpp.LibvlcModuleDescriptionT PNext | |
{ | |
get | |
{ | |
global::libvlcpp.LibvlcModuleDescriptionT __result0; | |
if (((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->p_next == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcModuleDescriptionT.NativeToManagedMap.ContainsKey(((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->p_next)) | |
__result0 = (global::libvlcpp.LibvlcModuleDescriptionT) global::libvlcpp.LibvlcModuleDescriptionT.NativeToManagedMap[((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->p_next]; | |
else __result0 = global::libvlcpp.LibvlcModuleDescriptionT.__CreateInstance(((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->p_next); | |
return __result0; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcModuleDescriptionT.__Internal*) __Instance)->p_next = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; | |
} | |
} | |
} | |
public unsafe partial class libvlc | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_errmsg")] | |
internal static extern global::System.IntPtr LibvlcErrmsg(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_clearerr")] | |
internal static extern void LibvlcClearerr(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_printerr")] | |
internal static extern global::System.IntPtr LibvlcPrinterr([MarshalAs(UnmanagedType.LPStr)] string fmt); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_new")] | |
internal static extern global::System.IntPtr LibvlcNew(int argc, sbyte** argv); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_release")] | |
internal static extern void LibvlcRelease(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_retain")] | |
internal static extern void LibvlcRetain(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_add_intf")] | |
internal static extern int LibvlcAddIntf(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_set_exit_handler")] | |
internal static extern void LibvlcSetExitHandler(global::System.IntPtr p_instance, global::System.IntPtr cb, global::System.IntPtr opaque); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_set_user_agent")] | |
internal static extern void LibvlcSetUserAgent(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string name, [MarshalAs(UnmanagedType.LPStr)] string http); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_set_app_id")] | |
internal static extern void LibvlcSetAppId(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string id, [MarshalAs(UnmanagedType.LPStr)] string version, [MarshalAs(UnmanagedType.LPStr)] string icon); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_get_version")] | |
internal static extern global::System.IntPtr LibvlcGetVersion(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_get_compiler")] | |
internal static extern global::System.IntPtr LibvlcGetCompiler(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_get_changeset")] | |
internal static extern global::System.IntPtr LibvlcGetChangeset(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_free")] | |
internal static extern void LibvlcFree(global::System.IntPtr ptr); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_event_attach")] | |
internal static extern int LibvlcEventAttach(global::System.IntPtr p_event_manager, int i_event_type, global::System.IntPtr f_callback, global::System.IntPtr user_data); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_event_detach")] | |
internal static extern void LibvlcEventDetach(global::System.IntPtr p_event_manager, int i_event_type, global::System.IntPtr f_callback, global::System.IntPtr p_user_data); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_event_type_name")] | |
internal static extern global::System.IntPtr LibvlcEventTypeName(int event_type); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_get_context")] | |
internal static extern void LibvlcLogGetContext(global::System.IntPtr ctx, sbyte** module, sbyte** file, uint* line); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_get_object")] | |
internal static extern void LibvlcLogGetObject(global::System.IntPtr ctx, sbyte** name, sbyte** header, ulong* id); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_unset")] | |
internal static extern void LibvlcLogUnset(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_set_file")] | |
internal static extern void LibvlcLogSetFile(global::System.IntPtr p_instance, global::System.IntPtr stream); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_module_description_list_release")] | |
internal static extern void LibvlcModuleDescriptionListRelease(global::System.IntPtr p_list); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_filter_list_get")] | |
internal static extern global::System.IntPtr LibvlcAudioFilterListGet(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_filter_list_get")] | |
internal static extern global::System.IntPtr LibvlcVideoFilterListGet(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_clock")] | |
internal static extern long LibvlcClock(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?libvlc_delay@@YA_J_J@Z")] | |
internal static extern long LibvlcDelay(long pts); | |
} | |
/// <summary> | |
/// <para>A human-readable error message for the last LibVLC error in the calling</para> | |
/// <para>thread. The resulting string is valid until another error occurs (at least</para> | |
/// <para>until the next LibVLC call).</para> | |
/// </summary> | |
/// <remarks>This will be NULL if there was no error.</remarks> | |
public static string LibvlcErrmsg() | |
{ | |
var __ret = __Internal.LibvlcErrmsg(); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary> | |
/// <para>Clears the LibVLC error status for the current thread. This is optional.</para> | |
/// <para>By default, the error status is automatically overridden when a new error</para> | |
/// <para>occurs, and destroyed when the thread exits.</para> | |
/// </summary> | |
public static void LibvlcClearerr() | |
{ | |
__Internal.LibvlcClearerr(); | |
} | |
/// <summary> | |
/// <para>Sets the LibVLC error status and message for the current thread.</para> | |
/// <para>Any previous error is overridden.</para> | |
/// </summary> | |
/// <param name="fmt">the format string</param> | |
/// <param name="args">the arguments</param> | |
/// <returns>a nul terminated string in any case</returns> | |
public static string LibvlcPrinterr(string fmt) | |
{ | |
var __ret = __Internal.LibvlcPrinterr(fmt); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary> | |
/// <para>Create and initialize a libvlc instance.</para> | |
/// <para>This functions accept a list of "command line" arguments similar to the</para> | |
/// <para>main(). These arguments affect the LibVLC instance default configuration.</para> | |
/// </summary> | |
/// <param name="argc">the number of arguments (should be 0)</param> | |
/// <param name="argv">list of arguments (should be NULL)</param> | |
/// <returns>the libvlc instance or NULL in case of error</returns> | |
/// <remarks> | |
/// <para>LibVLC may create threads. Therefore, any thread-unsafe process</para> | |
/// <para>initialization must be performed before calling libvlc_new(). In particular</para> | |
/// <para>and where applicable:</para> | |
/// <para>- setlocale() and textdomain(),</para> | |
/// <para>- setenv(), unsetenv() and putenv(),</para> | |
/// <para>- with the X11 display system, XInitThreads()</para> | |
/// <para>(see also libvlc_media_player_set_xwindow()) and</para> | |
/// <para>- on Microsoft Windows, SetErrorMode().</para> | |
/// <para>- sigprocmask() shall never be invoked; pthread_sigmask() can be used.</para> | |
/// <para>On POSIX systems, the SIGCHLD signalmust notbe ignored, i.e. the</para> | |
/// <para>signal handler must set to SIG_DFL or a function pointer, not SIG_IGN.</para> | |
/// <para>Also while LibVLC is active, the wait() function shall not be called, and</para> | |
/// <para>any call to waitpid() shall use a strictly positive value for the first</para> | |
/// <para>parameter (i.e. the PID). Failure to follow those rules may lead to a</para> | |
/// <para>deadlock or a busy loop.</para> | |
/// <para>Also on POSIX systems, it is recommended that the SIGPIPE signal be blocked,</para> | |
/// <para>even if it is not, in principles, necessary, e.g.:</para> | |
/// <para>On Microsoft Windows Vista/2008, the process error mode</para> | |
/// <para>SEM_FAILCRITICALERRORS flagmustbe set before using LibVLC.</para> | |
/// <para>On later versions, that is optional and unnecessary.</para> | |
/// <para>Also on Microsoft Windows (Vista and any later version), setting the default</para> | |
/// <para>DLL directories to SYSTEM32 exclusively is strongly recommended for</para> | |
/// <para>security reasons:</para> | |
/// <para>Arguments are meant to be passed from the command line to LibVLC, just like</para> | |
/// <para>VLC media player does. The list of valid arguments depends on the LibVLC</para> | |
/// <para>version, the operating system and platform, and set of available LibVLC</para> | |
/// <para>plugins. Invalid or unsupported arguments will cause the function to fail</para> | |
/// <para>(i.e. return NULL). Also, some arguments may alter the behaviour or</para> | |
/// <para>otherwise interfere with other LibVLC functions.</para> | |
/// <para>There is absolutely no warranty or promise of forward, backward and</para> | |
/// <para>cross-platform compatibility with regards to libvlc_new() arguments.</para> | |
/// <para>We recommend that you do not use them, other than when debugging.</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcInstanceT LibvlcNew(int argc, sbyte** argv) | |
{ | |
var __ret = __Internal.LibvlcNew(argc, argv); | |
global::libvlcpp.LibvlcInstanceT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcInstanceT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcInstanceT) global::libvlcpp.LibvlcInstanceT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcInstanceT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Decrement the reference count of a libvlc instance, and destroy it</para> | |
/// <para>if it reaches zero.</para> | |
/// </summary> | |
/// <param name="p_instance">the instance to destroy</param> | |
public static void LibvlcRelease(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcRelease(__arg0); | |
} | |
/// <summary> | |
/// <para>Increments the reference count of a libvlc instance.</para> | |
/// <para>The initial reference count is 1 after libvlc_new() returns.</para> | |
/// </summary> | |
/// <param name="p_instance">the instance to reference</param> | |
public static void LibvlcRetain(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcRetain(__arg0); | |
} | |
/// <summary>Try to start a user interface for the libvlc instance.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="name">interface name, or NULL for default</param> | |
/// <returns>0 on success, -1 on error.</returns> | |
public static int LibvlcAddIntf(global::libvlcpp.LibvlcInstanceT p_instance, string name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAddIntf(__arg0, name); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Registers a callback for the LibVLC exit event. This is mostly useful if</para> | |
/// <para>the VLC playlist and/or at least one interface are started with</para> | |
/// <para>libvlc_playlist_play() or libvlc_add_intf() respectively.</para> | |
/// <para>Typically, this function will wake up your application main loop (from</para> | |
/// <para>another thread).</para> | |
/// </summary> | |
/// <param name="p_instance">LibVLC instance</param> | |
/// <param name="cb"> | |
/// <para>callback to invoke when LibVLC wants to exit,</para> | |
/// <para>or NULL to disable the exit handler (as by default)</para> | |
/// </param> | |
/// <param name="opaque">data pointer for the callback</param> | |
/// <remarks> | |
/// <para>This function should be called before the playlist or interface are</para> | |
/// <para>started. Otherwise, there is a small race condition: the exit event could</para> | |
/// <para>be raised before the handler is registered.</para> | |
/// <para>This function and libvlc_wait() cannot be used at the same time.</para> | |
/// </remarks> | |
public static void LibvlcSetExitHandler(global::libvlcpp.LibvlcInstanceT p_instance, global::libvlcpp.Delegates.Action_IntPtr cb, global::System.IntPtr opaque) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __arg1 = cb == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(cb); | |
__Internal.LibvlcSetExitHandler(__arg0, __arg1, opaque); | |
} | |
/// <summary> | |
/// <para>Sets the application name. LibVLC passes this as the user agent string</para> | |
/// <para>when a protocol requires it.</para> | |
/// </summary> | |
/// <param name="p_instance">LibVLC instance</param> | |
/// <param name="name">human-readable application name, e.g. "FooBar player 1.2.3"</param> | |
/// <param name="http">HTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0"</param> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public static void LibvlcSetUserAgent(global::libvlcpp.LibvlcInstanceT p_instance, string name, string http) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcSetUserAgent(__arg0, name, http); | |
} | |
/// <summary> | |
/// <para>Sets some meta-information about the application.</para> | |
/// <para>See also libvlc_set_user_agent().</para> | |
/// </summary> | |
/// <param name="p_instance">LibVLC instance</param> | |
/// <param name="id">Java-style application identifier, e.g. "com.acme.foobar"</param> | |
/// <param name="version">application version numbers, e.g. "1.2.3"</param> | |
/// <param name="icon">application icon name, e.g. "foobar"</param> | |
/// <remarks>LibVLC 2.1.0 or later.</remarks> | |
public static void LibvlcSetAppId(global::libvlcpp.LibvlcInstanceT p_instance, string id, string version, string icon) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcSetAppId(__arg0, id, version, icon); | |
} | |
/// <summary>Retrieve libvlc version.</summary> | |
/// <returns>a string containing the libvlc version</returns> | |
/// <remarks>Example: "1.1.0-git The Luggage"</remarks> | |
public static string LibvlcGetVersion() | |
{ | |
var __ret = __Internal.LibvlcGetVersion(); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Retrieve libvlc compiler version.</summary> | |
/// <returns>a string containing the libvlc compiler version</returns> | |
/// <remarks>Example: "gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu6)"</remarks> | |
public static string LibvlcGetCompiler() | |
{ | |
var __ret = __Internal.LibvlcGetCompiler(); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Retrieve libvlc changeset.</summary> | |
/// <returns>a string containing the libvlc changeset</returns> | |
/// <remarks>Example: "aa9bce0bc4"</remarks> | |
public static string LibvlcGetChangeset() | |
{ | |
var __ret = __Internal.LibvlcGetChangeset(); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary> | |
/// <para>Frees an heap allocation returned by a LibVLC function.</para> | |
/// <para>If you know you're using the same underlying C run-time as the LibVLC</para> | |
/// <para>implementation, then you can call ANSI C free() directly instead.</para> | |
/// </summary> | |
/// <param name="ptr">the pointer</param> | |
public static void LibvlcFree(global::System.IntPtr ptr) | |
{ | |
__Internal.LibvlcFree(ptr); | |
} | |
/// <summary>Register for an event notification.</summary> | |
/// <param name="p_event_manager"> | |
/// <para>the event manager to which you want to attach to.</para> | |
/// <para>Generally it is obtained by vlc_my_object_event_manager() where</para> | |
/// <para>my_object is the object you want to listen to.</para> | |
/// </param> | |
/// <param name="i_event_type">the desired event to which we want to listen</param> | |
/// <param name="f_callback">the function to call when i_event_type occurs</param> | |
/// <param name="user_data">user provided data to carry with the event</param> | |
/// <returns>0 on success, ENOMEM on error</returns> | |
public static int LibvlcEventAttach(global::libvlcpp.LibvlcEventManagerT p_event_manager, int i_event_type, global::libvlcpp.LibvlcCallbackT f_callback, global::System.IntPtr user_data) | |
{ | |
var __arg0 = ReferenceEquals(p_event_manager, null) ? global::System.IntPtr.Zero : p_event_manager.__Instance; | |
var __arg2 = f_callback == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(f_callback); | |
var __ret = __Internal.LibvlcEventAttach(__arg0, i_event_type, __arg2, user_data); | |
return __ret; | |
} | |
/// <summary>Unregister an event notification.</summary> | |
/// <param name="p_event_manager">the event manager</param> | |
/// <param name="i_event_type">the desired event to which we want to unregister</param> | |
/// <param name="f_callback">the function to call when i_event_type occurs</param> | |
/// <param name="p_user_data">user provided data to carry with the event</param> | |
public static void LibvlcEventDetach(global::libvlcpp.LibvlcEventManagerT p_event_manager, int i_event_type, global::libvlcpp.LibvlcCallbackT f_callback, global::System.IntPtr p_user_data) | |
{ | |
var __arg0 = ReferenceEquals(p_event_manager, null) ? global::System.IntPtr.Zero : p_event_manager.__Instance; | |
var __arg2 = f_callback == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(f_callback); | |
__Internal.LibvlcEventDetach(__arg0, i_event_type, __arg2, p_user_data); | |
} | |
/// <summary>Get an event's type name.</summary> | |
/// <param name="event_type">the desired event</param> | |
public static string LibvlcEventTypeName(int event_type) | |
{ | |
var __ret = __Internal.LibvlcEventTypeName(event_type); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Gets log message debug infos.</summary> | |
/// <param name="ctx">message context (as passed to the</param> | |
/// <param name="module">module name storage (or NULL) [OUT]</param> | |
/// <param name="file">source code file name storage (or NULL) [OUT]</param> | |
/// <param name="line">source code file line number storage (or NULL) [OUT]</param> | |
/// <remarks> | |
/// <para>This function retrieves self-debug information about a log message:</para> | |
/// <para>- the name of the VLC module emitting the message,</para> | |
/// <para>- the name of the source code module (i.e. file) and</para> | |
/// <para>- the line number within the source code module.</para> | |
/// <para>The returned module name and file name will be NULL if unknown.</para> | |
/// <para>The returned line number will similarly be zero if unknown.</para> | |
/// <para>The returned module name and source code file name, if non-NULL,</para> | |
/// <para>are only valid until the logging callback returns.</para> | |
/// <para>LibVLC 2.1.0 or later</para> | |
/// </remarks> | |
public static void LibvlcLogGetContext(global::libvlcpp.VlcLogT ctx, sbyte** module, sbyte** file, ref uint line) | |
{ | |
var __arg0 = ReferenceEquals(ctx, null) ? global::System.IntPtr.Zero : ctx.__Instance; | |
fixed (uint* __refParamPtr3 = &line) | |
{ | |
var __arg3 = __refParamPtr3; | |
__Internal.LibvlcLogGetContext(__arg0, module, file, __arg3); | |
} | |
} | |
/// <summary>Gets log message info.</summary> | |
/// <param name="ctx">message context (as passed to the</param> | |
/// <param name="name">object name storage (or NULL) [OUT]</param> | |
/// <param name="header">object header (or NULL) [OUT]</param> | |
/// <param name="line">source code file line number storage (or NULL) [OUT]</param> | |
/// <remarks> | |
/// <para>This function retrieves meta-information about a log message:</para> | |
/// <para>- the type name of the VLC object emitting the message,</para> | |
/// <para>- the object header if any, and</para> | |
/// <para>- a temporaly-unique object identifier.</para> | |
/// <para>This information is mainly meant formanualtroubleshooting.</para> | |
/// <para>The returned type name may be "generic" if unknown, but it cannot be NULL.</para> | |
/// <para>The returned header will be NULL if unset; in current versions, the header</para> | |
/// <para>is used to distinguish for VLM inputs.</para> | |
/// <para>The returned object ID will be zero if the message is not associated with</para> | |
/// <para>any VLC object.</para> | |
/// <para>The returned module name and source code file name, if non-NULL,</para> | |
/// <para>are only valid until the logging callback returns.</para> | |
/// <para>LibVLC 2.1.0 or later</para> | |
/// </remarks> | |
public static void LibvlcLogGetObject(global::libvlcpp.VlcLogT ctx, sbyte** name, sbyte** header, ref ulong id) | |
{ | |
var __arg0 = ReferenceEquals(ctx, null) ? global::System.IntPtr.Zero : ctx.__Instance; | |
fixed (ulong* __refParamPtr3 = &id) | |
{ | |
var __arg3 = __refParamPtr3; | |
__Internal.LibvlcLogGetObject(__arg0, name, header, __arg3); | |
} | |
} | |
/// <summary>Unsets the logging callback.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <remarks> | |
/// <para>This function deregisters the logging callback for a LibVLC instance.</para> | |
/// <para>This is rarely needed as the callback is implicitly unset when the instance</para> | |
/// <para>is destroyed.</para> | |
/// <para>This function will wait for any pending callbacks invocation to</para> | |
/// <para>complete (causing a deadlock if called from within the callback).</para> | |
/// <para>LibVLC 2.1.0 or later</para> | |
/// </remarks> | |
public static void LibvlcLogUnset(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcLogUnset(__arg0); | |
} | |
/// <summary>Sets up logging to a file.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <param name="stream"> | |
/// <para>FILE pointer opened for writing</para> | |
/// <para>(the FILE pointer must remain valid until libvlc_log_unset())</para> | |
/// </param> | |
/// <remarks>LibVLC 2.1.0 or later</remarks> | |
public static void LibvlcLogSetFile(global::libvlcpp.LibvlcInstanceT p_instance, global::System.IntPtr stream) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcLogSetFile(__arg0, stream); | |
} | |
/// <summary>Release a list of module descriptions.</summary> | |
/// <param name="p_list">the list to be released</param> | |
public static void LibvlcModuleDescriptionListRelease(global::libvlcpp.LibvlcModuleDescriptionT p_list) | |
{ | |
var __arg0 = ReferenceEquals(p_list, null) ? global::System.IntPtr.Zero : p_list.__Instance; | |
__Internal.LibvlcModuleDescriptionListRelease(__arg0); | |
} | |
/// <summary>Returns a list of audio filters that are available.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <returns> | |
/// <para>a list of module descriptions. It should be freed with libvlc_module_description_list_release().</para> | |
/// <para>In case of an error, NULL is returned.</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>libvlc_module_description_t</para> | |
/// <para>libvlc_module_description_list_release</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcModuleDescriptionT LibvlcAudioFilterListGet(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAudioFilterListGet(__arg0); | |
global::libvlcpp.LibvlcModuleDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcModuleDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcModuleDescriptionT) global::libvlcpp.LibvlcModuleDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcModuleDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Returns a list of video filters that are available.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <returns> | |
/// <para>a list of module descriptions. It should be freed with libvlc_module_description_list_release().</para> | |
/// <para>In case of an error, NULL is returned.</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>libvlc_module_description_t</para> | |
/// <para>libvlc_module_description_list_release</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcModuleDescriptionT LibvlcVideoFilterListGet(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVideoFilterListGet(__arg0); | |
global::libvlcpp.LibvlcModuleDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcModuleDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcModuleDescriptionT) global::libvlcpp.LibvlcModuleDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcModuleDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Return the current time as defined by LibVLC. The unit is the microsecond.</para> | |
/// <para>Time increases monotonically (regardless of time zone changes and RTC</para> | |
/// <para>adjustements).</para> | |
/// <para>The origin is arbitrary but consistent across the whole system</para> | |
/// <para>(e.g. the system uptim, the time since the system was booted).</para> | |
/// </summary> | |
/// <remarks>On systems that support it, the POSIX monotonic clock is used.</remarks> | |
public static long LibvlcClock() | |
{ | |
var __ret = __Internal.LibvlcClock(); | |
return __ret; | |
} | |
/// <summary>Return the delay (in microseconds) until a certain timestamp.</summary> | |
/// <param name="pts">timestamp</param> | |
/// <returns> | |
/// <para>negative if timestamp is in the past,</para> | |
/// <para>positive if it is in the future</para> | |
/// </returns> | |
public static long LibvlcDelay(long pts) | |
{ | |
var __ret = __Internal.LibvlcDelay(pts); | |
return __ret; | |
} | |
} | |
/// <summary> | |
/// <para>LibVLC renderer discoverer finds available renderers available on the local</para> | |
/// <para>network</para> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC renderer discoverer external API</para> | |
/// </summary> | |
/// <summary>Renderer item</summary> | |
/// <remarks> | |
/// <para>This struct is passed by a</para> | |
/// <para>or deleted.</para> | |
/// <para>An item is valid until the</para> | |
/// <para>is called with the same pointer.</para> | |
/// <para>libvlc_renderer_discoverer_event_manager()</para> | |
/// </remarks> | |
public unsafe partial class LibvlcRendererItemT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcRendererItemT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcRendererItemT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcRendererItemT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcRendererItemT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcRendererItemT __CreateInstance(global::libvlcpp.LibvlcRendererItemT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcRendererItemT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcRendererItemT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcRendererItemT.__Internal)); | |
*(global::libvlcpp.LibvlcRendererItemT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcRendererItemT(global::libvlcpp.LibvlcRendererItemT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcRendererItemT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class LibvlcRendererDiscovererT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcRendererDiscovererT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcRendererDiscovererT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcRendererDiscovererT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcRendererDiscovererT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcRendererDiscovererT __CreateInstance(global::libvlcpp.LibvlcRendererDiscovererT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcRendererDiscovererT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcRendererDiscovererT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcRendererDiscovererT.__Internal)); | |
*(global::libvlcpp.LibvlcRendererDiscovererT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcRendererDiscovererT(global::libvlcpp.LibvlcRendererDiscovererT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcRendererDiscovererT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
/// <summary>Renderer discoverer description</summary> | |
/// <remarks>libvlc_renderer_discoverer_list_get()</remarks> | |
public unsafe partial class LibvlcRdDescriptionT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_longname; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_rd_description_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcRdDescriptionT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcRdDescriptionT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcRdDescriptionT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcRdDescriptionT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcRdDescriptionT __CreateInstance(global::libvlcpp.LibvlcRdDescriptionT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcRdDescriptionT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcRdDescriptionT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcRdDescriptionT.__Internal)); | |
*(global::libvlcpp.LibvlcRdDescriptionT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcRdDescriptionT(global::libvlcpp.LibvlcRdDescriptionT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcRdDescriptionT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcRdDescriptionT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcRdDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcRdDescriptionT(global::libvlcpp.LibvlcRdDescriptionT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcRdDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcRdDescriptionT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcRdDescriptionT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcRdDescriptionT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcRdDescriptionT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcRdDescriptionT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszLongname | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcRdDescriptionT.__Internal*) __Instance)->psz_longname; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcRdDescriptionT.__Internal*) __Instance)->psz_longname = (global::System.IntPtr) value; | |
} | |
} | |
} | |
public unsafe partial class libvlc_renderer_discoverer | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_item_hold")] | |
internal static extern global::System.IntPtr LibvlcRendererItemHold(global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_item_release")] | |
internal static extern void LibvlcRendererItemRelease(global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_item_name")] | |
internal static extern global::System.IntPtr LibvlcRendererItemName(global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_item_type")] | |
internal static extern global::System.IntPtr LibvlcRendererItemType(global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_item_icon_uri")] | |
internal static extern global::System.IntPtr LibvlcRendererItemIconUri(global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_item_flags")] | |
internal static extern int LibvlcRendererItemFlags(global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_new")] | |
internal static extern global::System.IntPtr LibvlcRendererDiscovererNew(global::System.IntPtr p_inst, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_release")] | |
internal static extern void LibvlcRendererDiscovererRelease(global::System.IntPtr p_rd); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_start")] | |
internal static extern int LibvlcRendererDiscovererStart(global::System.IntPtr p_rd); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_stop")] | |
internal static extern void LibvlcRendererDiscovererStop(global::System.IntPtr p_rd); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_event_manager")] | |
internal static extern global::System.IntPtr LibvlcRendererDiscovererEventManager(global::System.IntPtr p_rd); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_list_get")] | |
internal static extern ulong LibvlcRendererDiscovererListGet(global::System.IntPtr p_inst, global::System.IntPtr ppp_services); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_renderer_discoverer_list_release")] | |
internal static extern void LibvlcRendererDiscovererListRelease(global::System.IntPtr pp_services, ulong i_count); | |
} | |
/// <summary>Hold a renderer item, i.e. creates a new reference</summary> | |
/// <returns>the current item</returns> | |
/// <remarks> | |
/// <para>This functions need to called from the libvlc_RendererDiscovererItemAdded</para> | |
/// <para>callback if the libvlc user wants to use this item after. (for display or</para> | |
/// <para>for passing it to the mediaplayer for example).</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcRendererItemT LibvlcRendererItemHold(global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
var __ret = __Internal.LibvlcRendererItemHold(__arg0); | |
global::libvlcpp.LibvlcRendererItemT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcRendererItemT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcRendererItemT) global::libvlcpp.LibvlcRendererItemT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcRendererItemT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Releases a renderer item, i.e. decrements its reference counter</summary> | |
/// <remarks>LibVLC 3.0.0 or later</remarks> | |
public static void LibvlcRendererItemRelease(global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
__Internal.LibvlcRendererItemRelease(__arg0); | |
} | |
/// <summary>Get the human readable name of a renderer item</summary> | |
/// <returns>the name of the item (can't be NULL, must *not* be freed)</returns> | |
/// <remarks>LibVLC 3.0.0 or later</remarks> | |
public static string LibvlcRendererItemName(global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
var __ret = __Internal.LibvlcRendererItemName(__arg0); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary> | |
/// <para>Get the type (not translated) of a renderer item. For now, the type can only</para> | |
/// <para>be "chromecast" ("upnp", "airplay" may come later).</para> | |
/// </summary> | |
/// <returns>the type of the item (can't be NULL, must *not* be freed)</returns> | |
/// <remarks>LibVLC 3.0.0 or later</remarks> | |
public static string LibvlcRendererItemType(global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
var __ret = __Internal.LibvlcRendererItemType(__arg0); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Get the icon uri of a renderer item</summary> | |
/// <returns>the uri of the item's icon (can be NULL, must *not* be freed)</returns> | |
/// <remarks>LibVLC 3.0.0 or later</remarks> | |
public static string LibvlcRendererItemIconUri(global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
var __ret = __Internal.LibvlcRendererItemIconUri(__arg0); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Get the flags of a renderer item</summary> | |
/// <returns>bitwise flag: capabilities of the renderer, see</returns> | |
/// <remarks> | |
/// <para>LIBVLC_RENDERER_CAN_AUDIO</para> | |
/// <para>LIBVLC_RENDERER_CAN_VIDEO</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static int LibvlcRendererItemFlags(global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
var __ret = __Internal.LibvlcRendererItemFlags(__arg0); | |
return __ret; | |
} | |
/// <summary>Create a renderer discoverer object by name</summary> | |
/// <param name="p_inst">libvlc instance</param> | |
/// <param name="psz_name"> | |
/// <para>service name; use libvlc_renderer_discoverer_list_get() to</para> | |
/// <para>get a list of the discoverer names available in this libVLC instance</para> | |
/// </param> | |
/// <returns>media discover object or NULL in case of error</returns> | |
/// <remarks> | |
/// <para>After this object is created, you should attach to events in order to be</para> | |
/// <para>notified of the discoverer events.</para> | |
/// <para>You need to call libvlc_renderer_discoverer_start() in order to start the</para> | |
/// <para>discovery.</para> | |
/// <para>libvlc_renderer_discoverer_event_manager()</para> | |
/// <para>libvlc_renderer_discoverer_start()</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcRendererDiscovererT LibvlcRendererDiscovererNew(global::libvlcpp.LibvlcInstanceT p_inst, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_inst, null) ? global::System.IntPtr.Zero : p_inst.__Instance; | |
var __ret = __Internal.LibvlcRendererDiscovererNew(__arg0, psz_name); | |
global::libvlcpp.LibvlcRendererDiscovererT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcRendererDiscovererT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcRendererDiscovererT) global::libvlcpp.LibvlcRendererDiscovererT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcRendererDiscovererT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Release a renderer discoverer object</summary> | |
/// <param name="p_rd">renderer discoverer object</param> | |
/// <remarks>LibVLC 3.0.0 or later</remarks> | |
public static void LibvlcRendererDiscovererRelease(global::libvlcpp.LibvlcRendererDiscovererT p_rd) | |
{ | |
var __arg0 = ReferenceEquals(p_rd, null) ? global::System.IntPtr.Zero : p_rd.__Instance; | |
__Internal.LibvlcRendererDiscovererRelease(__arg0); | |
} | |
/// <summary>Start renderer discovery</summary> | |
/// <param name="p_rd">renderer discoverer object</param> | |
/// <returns>-1 in case of error, 0 otherwise</returns> | |
/// <remarks> | |
/// <para>To stop it, call libvlc_renderer_discoverer_stop() or</para> | |
/// <para>libvlc_renderer_discoverer_release() directly.</para> | |
/// <para>libvlc_renderer_discoverer_stop()</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static int LibvlcRendererDiscovererStart(global::libvlcpp.LibvlcRendererDiscovererT p_rd) | |
{ | |
var __arg0 = ReferenceEquals(p_rd, null) ? global::System.IntPtr.Zero : p_rd.__Instance; | |
var __ret = __Internal.LibvlcRendererDiscovererStart(__arg0); | |
return __ret; | |
} | |
/// <summary>Stop renderer discovery.</summary> | |
/// <param name="p_rd">renderer discoverer object</param> | |
/// <remarks> | |
/// <para>libvlc_renderer_discoverer_start()</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static void LibvlcRendererDiscovererStop(global::libvlcpp.LibvlcRendererDiscovererT p_rd) | |
{ | |
var __arg0 = ReferenceEquals(p_rd, null) ? global::System.IntPtr.Zero : p_rd.__Instance; | |
__Internal.LibvlcRendererDiscovererStop(__arg0); | |
} | |
/// <summary>Get the event manager of the renderer discoverer</summary> | |
/// <returns>a valid event manager (can't fail)</returns> | |
/// <remarks> | |
/// <para>The possible events to attach are</para> | |
/// <para>and</para> | |
/// <para>The</para> | |
/// <para>VLC, users should take care of holding/releasing this struct for their</para> | |
/// <para>internal usage.</para> | |
/// <para>libvlc_event_t.u.renderer_discoverer_item_added.item</para> | |
/// <para>libvlc_event_t.u.renderer_discoverer_item_removed.item</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcRendererDiscovererEventManager(global::libvlcpp.LibvlcRendererDiscovererT p_rd) | |
{ | |
var __arg0 = ReferenceEquals(p_rd, null) ? global::System.IntPtr.Zero : p_rd.__Instance; | |
var __ret = __Internal.LibvlcRendererDiscovererEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get media discoverer services</summary> | |
/// <param name="p_inst">libvlc instance</param> | |
/// <param name="ppp_services"> | |
/// <para>address to store an allocated array of renderer</para> | |
/// <para>discoverer services (must be freed with libvlc_renderer_list_release() by</para> | |
/// <para>the caller) [OUT]</para> | |
/// </param> | |
/// <returns>the number of media discoverer services (0 on error)</returns> | |
/// <remarks> | |
/// <para>libvlc_renderer_list_release()</para> | |
/// <para>LibVLC 3.0.0 and later</para> | |
/// </remarks> | |
public static ulong LibvlcRendererDiscovererListGet(global::libvlcpp.LibvlcInstanceT p_inst, global::libvlcpp.LibvlcRdDescriptionT ppp_services) | |
{ | |
var __arg0 = ReferenceEquals(p_inst, null) ? global::System.IntPtr.Zero : p_inst.__Instance; | |
var __arg1 = ReferenceEquals(ppp_services, null) ? global::System.IntPtr.Zero : ppp_services.__Instance; | |
var __ret = __Internal.LibvlcRendererDiscovererListGet(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>Release an array of media discoverer services</summary> | |
/// <param name="pp_services">array to release</param> | |
/// <param name="i_count">number of elements in the array</param> | |
/// <remarks> | |
/// <para>libvlc_renderer_discoverer_list_get()</para> | |
/// <para>LibVLC 3.0.0 and later</para> | |
/// </remarks> | |
public static void LibvlcRendererDiscovererListRelease(global::libvlcpp.LibvlcRdDescriptionT pp_services, ulong i_count) | |
{ | |
var __arg0 = ReferenceEquals(pp_services, null) ? global::System.IntPtr.Zero : pp_services.__Instance; | |
__Internal.LibvlcRendererDiscovererListRelease(__arg0, i_count); | |
} | |
} | |
/// <summary>Meta data types</summary> | |
public enum LibvlcMetaT | |
{ | |
LibvlcMetaTitle = 0, | |
LibvlcMetaArtist = 1, | |
LibvlcMetaGenre = 2, | |
LibvlcMetaCopyright = 3, | |
LibvlcMetaAlbum = 4, | |
LibvlcMetaTrackNumber = 5, | |
LibvlcMetaDescription = 6, | |
LibvlcMetaRating = 7, | |
LibvlcMetaDate = 8, | |
LibvlcMetaSetting = 9, | |
LibvlcMetaURL = 10, | |
LibvlcMetaLanguage = 11, | |
LibvlcMetaNowPlaying = 12, | |
LibvlcMetaPublisher = 13, | |
LibvlcMetaEncodedBy = 14, | |
LibvlcMetaArtworkURL = 15, | |
LibvlcMetaTrackID = 16, | |
LibvlcMetaTrackTotal = 17, | |
LibvlcMetaDirector = 18, | |
LibvlcMetaSeason = 19, | |
LibvlcMetaEpisode = 20, | |
LibvlcMetaShowName = 21, | |
LibvlcMetaActors = 22, | |
LibvlcMetaAlbumArtist = 23, | |
LibvlcMetaDiscNumber = 24, | |
LibvlcMetaDiscTotal = 25 | |
} | |
public enum LibvlcTrackTypeT | |
{ | |
LibvlcTrackUnknown = -1, | |
LibvlcTrackAudio = 0, | |
LibvlcTrackVideo = 1, | |
LibvlcTrackText = 2 | |
} | |
/// <summary>Note the order of libvlc_state_t enum must match exactly the order of</summary> | |
/// <remarks> | |
/// <para>mediacontrol_PlayerStatus,</para> | |
/// <para>input_state_e enums,</para> | |
/// <para>and VideoLAN.LibVLC.State (at bindings/cil/src/media.cs).</para> | |
/// <para>Expected states by web plugins are:</para> | |
/// <para>IDLE/CLOSE=0, OPENING=1, PLAYING=3, PAUSED=4,</para> | |
/// <para>STOPPING=5, ENDED=6, ERROR=7</para> | |
/// </remarks> | |
public enum LibvlcStateT | |
{ | |
LibvlcNothingSpecial = 0, | |
LibvlcOpening = 1, | |
LibvlcBuffering = 2, | |
LibvlcPlaying = 3, | |
LibvlcPaused = 4, | |
LibvlcStopped = 5, | |
LibvlcEnded = 6, | |
LibvlcError = 7 | |
} | |
[Flags] | |
public enum LibvlcMediaOption | |
{ | |
LibvlcMediaOptionTrusted = 2, | |
LibvlcMediaOptionUnique = 256 | |
} | |
public enum LibvlcVideoOrientT | |
{ | |
/// <summary>Normal. Top line represents top, left column left.</summary> | |
LibvlcVideoOrientTopLeft = 0, | |
/// <summary>Flipped horizontally</summary> | |
LibvlcVideoOrientTopRight = 1, | |
/// <summary>Flipped vertically</summary> | |
LibvlcVideoOrientBottomLeft = 2, | |
/// <summary>Rotated 180 degrees</summary> | |
LibvlcVideoOrientBottomRight = 3, | |
/// <summary>Transposed</summary> | |
LibvlcVideoOrientLeftTop = 4, | |
/// <summary>Rotated 90 degrees clockwise (or 270 anti-clockwise)</summary> | |
LibvlcVideoOrientLeftBottom = 5, | |
/// <summary>Rotated 90 degrees anti-clockwise</summary> | |
LibvlcVideoOrientRightTop = 6, | |
/// <summary>Anti-transposed</summary> | |
LibvlcVideoOrientRightBottom = 7 | |
} | |
[Flags] | |
public enum LibvlcVideoProjectionT | |
{ | |
LibvlcVideoProjectionRectangular = 0, | |
/// <summary>360 spherical</summary> | |
LibvlcVideoProjectionEquirectangular = 1, | |
LibvlcVideoProjectionCubemapLayoutStandard = 256 | |
} | |
/// <summary>Media type</summary> | |
/// <remarks>libvlc_media_get_type</remarks> | |
public enum LibvlcMediaTypeT | |
{ | |
LibvlcMediaTypeUnknown = 0, | |
LibvlcMediaTypeFile = 1, | |
LibvlcMediaTypeDirectory = 2, | |
LibvlcMediaTypeDisc = 3, | |
LibvlcMediaTypeStream = 4, | |
LibvlcMediaTypePlaylist = 5 | |
} | |
/// <summary>Parse flags used by libvlc_media_parse_with_options()</summary> | |
/// <remarks>libvlc_media_parse_with_options</remarks> | |
[Flags] | |
public enum LibvlcMediaParseFlagT | |
{ | |
/// <summary>Parse media if it's a local file</summary> | |
LibvlcMediaParseLocal = 0, | |
/// <summary>Parse media even if it's a network file</summary> | |
LibvlcMediaParseNetwork = 1, | |
/// <summary>Fetch meta and covert art using local resources</summary> | |
LibvlcMediaFetchLocal = 2, | |
/// <summary>Fetch meta and covert art using network resources</summary> | |
LibvlcMediaFetchNetwork = 4, | |
/// <summary> | |
/// <para>Interact with the user (via libvlc_dialog_cbs) when preparsing this item</para> | |
/// <para>(and not its sub items). Set this flag in order to receive a callback</para> | |
/// <para>when the input is asking for credentials.</para> | |
/// </summary> | |
LibvlcMediaDoInteract = 8 | |
} | |
/// <summary> | |
/// <para>Parse status used sent by libvlc_media_parse_with_options() or returned by</para> | |
/// <para>libvlc_media_get_parsed_status()</para> | |
/// </summary> | |
/// <remarks> | |
/// <para>libvlc_media_parse_with_options</para> | |
/// <para>libvlc_media_get_parsed_status</para> | |
/// </remarks> | |
public enum LibvlcMediaParsedStatusT | |
{ | |
LibvlcMediaParsedStatusSkipped = 1, | |
LibvlcMediaParsedStatusFailed = 2, | |
LibvlcMediaParsedStatusTimeout = 3, | |
LibvlcMediaParsedStatusDone = 4 | |
} | |
/// <summary>Type of a media slave: subtitle or audio.</summary> | |
public enum LibvlcMediaSlaveTypeT | |
{ | |
LibvlcMediaSlaveTypeSubtitle = 0, | |
LibvlcMediaSlaveTypeAudio = 1 | |
} | |
/// <summary> | |
/// <para>It consists of a media location and various optional meta data.</para> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC media item/descriptor external API</para> | |
/// </summary> | |
/// <summary>Callback prototype to open a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as passed to libvlc_media_new_callbacks()</param> | |
/// <param name="datap">storage space for a private data pointer [OUT]</param> | |
/// <param name="sizep">byte length of the bitstream or UINT64_MAX if unknown [OUT]</param> | |
/// <returns> | |
/// <para>0 on success, non-zero on error. In case of failure, the other</para> | |
/// <para>callbacks will not be invoked and any value stored in *datap and *sizep is</para> | |
/// <para>discarded.</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>The same media item can be opened multiple times. Each time, this callback</para> | |
/// <para>is invoked. It should allocate and initialize any instance-specific</para> | |
/// <para>resources, then store them in *datap. The instance resources can be freed</para> | |
/// <para>in the</para> | |
/// <para>For convenience, *datap is initially NULL and *sizep is initially 0.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int LibvlcMediaOpenCb(global::System.IntPtr opaque, void** datap, ulong* sizep); | |
/// <summary>Callback prototype to read data from a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as set by the</param> | |
/// <param name="buf">start address of the buffer to read data into</param> | |
/// <param name="len">bytes length of the buffer</param> | |
/// <returns> | |
/// <para>strictly positive number of bytes read, 0 on end-of-stream,</para> | |
/// <para>or -1 on non-recoverable error</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>callback</para> | |
/// <para>If no data is immediately available, then the callback should sleep.</para> | |
/// <para>The application is responsible for avoiding deadlock situations.</para> | |
/// <para>In particular, the callback should return an error if playback is stopped;</para> | |
/// <para>if it does not return, then libvlc_media_player_stop() will never return.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int LibvlcMediaReadCb(global::System.IntPtr opaque, byte* buf, ulong len); | |
/// <summary>Callback prototype to seek a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as set by the</param> | |
/// <param name="offset">absolute byte offset to seek to</param> | |
/// <returns>0 on success, -1 on error.</returns> | |
/// <remarks>callback</remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int LibvlcMediaSeekCb(global::System.IntPtr opaque, ulong offset); | |
/// <summary>Callback prototype to close a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as set by the</param> | |
/// <remarks>callback</remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcMediaCloseCb(global::System.IntPtr opaque); | |
public unsafe partial class LibvlcMediaT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaT __CreateInstance(global::libvlcpp.LibvlcMediaT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaT(global::libvlcpp.LibvlcMediaT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class LibvlcMediaListT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaListT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaListT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaListT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaListT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaListT __CreateInstance(global::libvlcpp.LibvlcMediaListT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaListT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaListT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaListT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaListT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaListT(global::libvlcpp.LibvlcMediaListT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaListT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class LibvlcMediaStatsT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 60)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int i_read_bytes; | |
[FieldOffset(4)] | |
internal float f_input_bitrate; | |
[FieldOffset(8)] | |
internal int i_demux_read_bytes; | |
[FieldOffset(12)] | |
internal float f_demux_bitrate; | |
[FieldOffset(16)] | |
internal int i_demux_corrupted; | |
[FieldOffset(20)] | |
internal int i_demux_discontinuity; | |
[FieldOffset(24)] | |
internal int i_decoded_video; | |
[FieldOffset(28)] | |
internal int i_decoded_audio; | |
[FieldOffset(32)] | |
internal int i_displayed_pictures; | |
[FieldOffset(36)] | |
internal int i_lost_pictures; | |
[FieldOffset(40)] | |
internal int i_played_abuffers; | |
[FieldOffset(44)] | |
internal int i_lost_abuffers; | |
[FieldOffset(48)] | |
internal int i_sent_packets; | |
[FieldOffset(52)] | |
internal int i_sent_bytes; | |
[FieldOffset(56)] | |
internal float f_send_bitrate; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_media_stats_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaStatsT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaStatsT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaStatsT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaStatsT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaStatsT __CreateInstance(global::libvlcpp.LibvlcMediaStatsT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaStatsT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaStatsT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaStatsT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaStatsT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaStatsT(global::libvlcpp.LibvlcMediaStatsT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaStatsT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcMediaStatsT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaStatsT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcMediaStatsT(global::libvlcpp.LibvlcMediaStatsT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaStatsT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcMediaStatsT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcMediaStatsT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public int IReadBytes | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_read_bytes; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_read_bytes = value; | |
} | |
} | |
public float FInputBitrate | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->f_input_bitrate; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->f_input_bitrate = value; | |
} | |
} | |
public int IDemuxReadBytes | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_demux_read_bytes; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_demux_read_bytes = value; | |
} | |
} | |
public float FDemuxBitrate | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->f_demux_bitrate; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->f_demux_bitrate = value; | |
} | |
} | |
public int IDemuxCorrupted | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_demux_corrupted; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_demux_corrupted = value; | |
} | |
} | |
public int IDemuxDiscontinuity | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_demux_discontinuity; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_demux_discontinuity = value; | |
} | |
} | |
public int IDecodedVideo | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_decoded_video; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_decoded_video = value; | |
} | |
} | |
public int IDecodedAudio | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_decoded_audio; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_decoded_audio = value; | |
} | |
} | |
public int IDisplayedPictures | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_displayed_pictures; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_displayed_pictures = value; | |
} | |
} | |
public int ILostPictures | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_lost_pictures; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_lost_pictures = value; | |
} | |
} | |
public int IPlayedAbuffers | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_played_abuffers; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_played_abuffers = value; | |
} | |
} | |
public int ILostAbuffers | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_lost_abuffers; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_lost_abuffers = value; | |
} | |
} | |
public int ISentPackets | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_sent_packets; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_sent_packets = value; | |
} | |
} | |
public int ISentBytes | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_sent_bytes; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->i_sent_bytes = value; | |
} | |
} | |
public float FSendBitrate | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->f_send_bitrate; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaStatsT.__Internal*) __Instance)->f_send_bitrate = value; | |
} | |
} | |
} | |
public unsafe partial class LibvlcMediaTrackInfoT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 28)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint i_codec; | |
[FieldOffset(4)] | |
internal int i_id; | |
[FieldOffset(8)] | |
internal global::libvlcpp.LibvlcTrackTypeT i_type; | |
[FieldOffset(12)] | |
internal int i_profile; | |
[FieldOffset(16)] | |
internal int i_level; | |
[FieldOffset(20)] | |
internal global::libvlcpp.LibvlcMediaTrackInfoT._.__Internal u; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_media_track_info_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public unsafe partial struct _ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcMediaTrackInfoT._.__.__Internal audio; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcMediaTrackInfoT._.___.__Internal video; | |
} | |
public unsafe partial class __ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint i_channels; | |
[FieldOffset(4)] | |
internal uint i_rate; | |
} | |
} | |
public unsafe partial class ___ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint i_height; | |
[FieldOffset(4)] | |
internal uint i_width; | |
} | |
} | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaTrackInfoT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaTrackInfoT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaTrackInfoT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaTrackInfoT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaTrackInfoT __CreateInstance(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaTrackInfoT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaTrackInfoT(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaTrackInfoT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcMediaTrackInfoT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcMediaTrackInfoT(global::libvlcpp.LibvlcMediaTrackInfoT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaTrackInfoT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcMediaTrackInfoT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public uint ICodec | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_codec; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_codec = value; | |
} | |
} | |
public int IId | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_id; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_id = value; | |
} | |
} | |
public global::libvlcpp.LibvlcTrackTypeT IType | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_type; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_type = value; | |
} | |
} | |
public int IProfile | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_profile; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_profile = value; | |
} | |
} | |
public int ILevel | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_level; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackInfoT.__Internal*) __Instance)->i_level = value; | |
} | |
} | |
} | |
public unsafe partial class LibvlcAudioTrackT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint i_channels; | |
[FieldOffset(4)] | |
internal uint i_rate; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_audio_track_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcAudioTrackT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcAudioTrackT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcAudioTrackT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcAudioTrackT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcAudioTrackT __CreateInstance(global::libvlcpp.LibvlcAudioTrackT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcAudioTrackT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcAudioTrackT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioTrackT.__Internal)); | |
*(global::libvlcpp.LibvlcAudioTrackT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcAudioTrackT(global::libvlcpp.LibvlcAudioTrackT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcAudioTrackT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcAudioTrackT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcAudioTrackT(global::libvlcpp.LibvlcAudioTrackT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcAudioTrackT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcAudioTrackT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcAudioTrackT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public uint IChannels | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcAudioTrackT.__Internal*) __Instance)->i_channels; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioTrackT.__Internal*) __Instance)->i_channels = value; | |
} | |
} | |
public uint IRate | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcAudioTrackT.__Internal*) __Instance)->i_rate; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioTrackT.__Internal*) __Instance)->i_rate = value; | |
} | |
} | |
} | |
/// <summary>Viewpoint</summary> | |
/// <remarks>allocate using libvlc_video_new_viewpoint()</remarks> | |
public unsafe partial class LibvlcVideoViewpointT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal float f_yaw; | |
[FieldOffset(4)] | |
internal float f_pitch; | |
[FieldOffset(8)] | |
internal float f_roll; | |
[FieldOffset(12)] | |
internal float f_field_of_view; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_video_viewpoint_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcVideoViewpointT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcVideoViewpointT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcVideoViewpointT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcVideoViewpointT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcVideoViewpointT __CreateInstance(global::libvlcpp.LibvlcVideoViewpointT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcVideoViewpointT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcVideoViewpointT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcVideoViewpointT.__Internal)); | |
*(global::libvlcpp.LibvlcVideoViewpointT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcVideoViewpointT(global::libvlcpp.LibvlcVideoViewpointT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcVideoViewpointT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcVideoViewpointT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcVideoViewpointT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcVideoViewpointT(global::libvlcpp.LibvlcVideoViewpointT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcVideoViewpointT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcVideoViewpointT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public float FYaw | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_yaw; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_yaw = value; | |
} | |
} | |
public float FPitch | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_pitch; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_pitch = value; | |
} | |
} | |
public float FRoll | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_roll; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_roll = value; | |
} | |
} | |
public float FFieldOfView | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_field_of_view; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoViewpointT.__Internal*) __Instance)->f_field_of_view = value; | |
} | |
} | |
} | |
public unsafe partial class LibvlcVideoTrackT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint i_height; | |
[FieldOffset(4)] | |
internal uint i_width; | |
[FieldOffset(8)] | |
internal uint i_sar_num; | |
[FieldOffset(12)] | |
internal uint i_sar_den; | |
[FieldOffset(16)] | |
internal uint i_frame_rate_num; | |
[FieldOffset(20)] | |
internal uint i_frame_rate_den; | |
[FieldOffset(24)] | |
internal global::libvlcpp.LibvlcVideoOrientT i_orientation; | |
[FieldOffset(28)] | |
internal global::libvlcpp.LibvlcVideoProjectionT i_projection; | |
[FieldOffset(32)] | |
internal global::libvlcpp.LibvlcVideoViewpointT.__Internal pose; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_video_track_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcVideoTrackT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcVideoTrackT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcVideoTrackT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcVideoTrackT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcVideoTrackT __CreateInstance(global::libvlcpp.LibvlcVideoTrackT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcVideoTrackT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcVideoTrackT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcVideoTrackT.__Internal)); | |
*(global::libvlcpp.LibvlcVideoTrackT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcVideoTrackT(global::libvlcpp.LibvlcVideoTrackT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcVideoTrackT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcVideoTrackT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcVideoTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcVideoTrackT(global::libvlcpp.LibvlcVideoTrackT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcVideoTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcVideoTrackT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcVideoTrackT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public uint IHeight | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_height; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_height = value; | |
} | |
} | |
public uint IWidth | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_width; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_width = value; | |
} | |
} | |
public uint ISarNum | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_sar_num; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_sar_num = value; | |
} | |
} | |
public uint ISarDen | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_sar_den; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_sar_den = value; | |
} | |
} | |
public uint IFrameRateNum | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_frame_rate_num; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_frame_rate_num = value; | |
} | |
} | |
public uint IFrameRateDen | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_frame_rate_den; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_frame_rate_den = value; | |
} | |
} | |
public global::libvlcpp.LibvlcVideoOrientT IOrientation | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_orientation; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_orientation = value; | |
} | |
} | |
public global::libvlcpp.LibvlcVideoProjectionT IProjection | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_projection; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->i_projection = value; | |
} | |
} | |
public global::libvlcpp.LibvlcVideoViewpointT Pose | |
{ | |
get | |
{ | |
return global::libvlcpp.LibvlcVideoViewpointT.__CreateInstance(((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->pose); | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcVideoTrackT.__Internal*) __Instance)->pose = ReferenceEquals(value, null) ? new global::libvlcpp.LibvlcVideoViewpointT.__Internal() : *(global::libvlcpp.LibvlcVideoViewpointT.__Internal*) value.__Instance; | |
} | |
} | |
} | |
public unsafe partial class LibvlcSubtitleTrackT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_encoding; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_subtitle_track_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcSubtitleTrackT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcSubtitleTrackT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcSubtitleTrackT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcSubtitleTrackT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcSubtitleTrackT __CreateInstance(global::libvlcpp.LibvlcSubtitleTrackT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcSubtitleTrackT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcSubtitleTrackT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcSubtitleTrackT.__Internal)); | |
*(global::libvlcpp.LibvlcSubtitleTrackT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcSubtitleTrackT(global::libvlcpp.LibvlcSubtitleTrackT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcSubtitleTrackT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcSubtitleTrackT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcSubtitleTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcSubtitleTrackT(global::libvlcpp.LibvlcSubtitleTrackT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcSubtitleTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcSubtitleTrackT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcSubtitleTrackT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcSubtitleTrackT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public sbyte* PszEncoding | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcSubtitleTrackT.__Internal*) __Instance)->psz_encoding; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcSubtitleTrackT.__Internal*) __Instance)->psz_encoding = (global::System.IntPtr) value; | |
} | |
} | |
} | |
public unsafe partial class LibvlcMediaTrackT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 56)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint i_codec; | |
[FieldOffset(4)] | |
internal uint i_original_fourcc; | |
[FieldOffset(8)] | |
internal int i_id; | |
[FieldOffset(12)] | |
internal global::libvlcpp.LibvlcTrackTypeT i_type; | |
[FieldOffset(16)] | |
internal int i_profile; | |
[FieldOffset(20)] | |
internal int i_level; | |
[FieldOffset(24)] | |
internal global::libvlcpp.LibvlcMediaTrackT._.__Internal _; | |
[FieldOffset(32)] | |
internal uint i_bitrate; | |
[FieldOffset(40)] | |
internal global::System.IntPtr psz_language; | |
[FieldOffset(48)] | |
internal global::System.IntPtr psz_description; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_media_track_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public unsafe partial struct _ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr audio; | |
[FieldOffset(0)] | |
internal global::System.IntPtr video; | |
[FieldOffset(0)] | |
internal global::System.IntPtr subtitle; | |
} | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaTrackT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaTrackT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaTrackT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaTrackT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaTrackT __CreateInstance(global::libvlcpp.LibvlcMediaTrackT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaTrackT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaTrackT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaTrackT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaTrackT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaTrackT(global::libvlcpp.LibvlcMediaTrackT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaTrackT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcMediaTrackT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcMediaTrackT(global::libvlcpp.LibvlcMediaTrackT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaTrackT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcMediaTrackT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcMediaTrackT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public uint ICodec | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_codec; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_codec = value; | |
} | |
} | |
public uint IOriginalFourcc | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_original_fourcc; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_original_fourcc = value; | |
} | |
} | |
public int IId | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_id; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_id = value; | |
} | |
} | |
public global::libvlcpp.LibvlcTrackTypeT IType | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_type; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_type = value; | |
} | |
} | |
public int IProfile | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_profile; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_profile = value; | |
} | |
} | |
public int ILevel | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_level; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_level = value; | |
} | |
} | |
public uint IBitrate | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_bitrate; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->i_bitrate = value; | |
} | |
} | |
public sbyte* PszLanguage | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->psz_language; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->psz_language = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszDescription | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->psz_description; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaTrackT.__Internal*) __Instance)->psz_description = (global::System.IntPtr) value; | |
} | |
} | |
} | |
/// <summary>A slave of a libvlc_media_t</summary> | |
/// <remarks>libvlc_media_slaves_get</remarks> | |
public unsafe partial class LibvlcMediaSlaveT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_uri; | |
[FieldOffset(8)] | |
internal global::libvlcpp.LibvlcMediaSlaveTypeT i_type; | |
[FieldOffset(12)] | |
internal uint i_priority; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_media_slave_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaSlaveT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaSlaveT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaSlaveT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaSlaveT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaSlaveT __CreateInstance(global::libvlcpp.LibvlcMediaSlaveT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaSlaveT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaSlaveT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaSlaveT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaSlaveT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaSlaveT(global::libvlcpp.LibvlcMediaSlaveT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaSlaveT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcMediaSlaveT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaSlaveT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcMediaSlaveT(global::libvlcpp.LibvlcMediaSlaveT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaSlaveT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcMediaSlaveT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public sbyte* PszUri | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance)->psz_uri; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance)->psz_uri = (global::System.IntPtr) value; | |
} | |
} | |
public global::libvlcpp.LibvlcMediaSlaveTypeT IType | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance)->i_type; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance)->i_type = value; | |
} | |
} | |
public uint IPriority | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance)->i_priority; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaSlaveT.__Internal*) __Instance)->i_priority = value; | |
} | |
} | |
} | |
public unsafe partial class libvlc_media | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_new_location")] | |
internal static extern global::System.IntPtr LibvlcMediaNewLocation(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_mrl); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_new_path")] | |
internal static extern global::System.IntPtr LibvlcMediaNewPath(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string path); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_new_fd")] | |
internal static extern global::System.IntPtr LibvlcMediaNewFd(global::System.IntPtr p_instance, int fd); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_new_callbacks")] | |
internal static extern global::System.IntPtr LibvlcMediaNewCallbacks(global::System.IntPtr instance, global::System.IntPtr open_cb, global::System.IntPtr read_cb, global::System.IntPtr seek_cb, global::System.IntPtr close_cb, global::System.IntPtr opaque); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_new_as_node")] | |
internal static extern global::System.IntPtr LibvlcMediaNewAsNode(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_add_option")] | |
internal static extern void LibvlcMediaAddOption(global::System.IntPtr p_md, [MarshalAs(UnmanagedType.LPStr)] string psz_options); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_add_option_flag")] | |
internal static extern void LibvlcMediaAddOptionFlag(global::System.IntPtr p_md, [MarshalAs(UnmanagedType.LPStr)] string psz_options, uint i_flags); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_retain")] | |
internal static extern void LibvlcMediaRetain(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_release")] | |
internal static extern void LibvlcMediaRelease(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_mrl")] | |
internal static extern sbyte* LibvlcMediaGetMrl(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_duplicate")] | |
internal static extern global::System.IntPtr LibvlcMediaDuplicate(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_meta")] | |
internal static extern sbyte* LibvlcMediaGetMeta(global::System.IntPtr p_md, global::libvlcpp.LibvlcMetaT e_meta); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_set_meta")] | |
internal static extern void LibvlcMediaSetMeta(global::System.IntPtr p_md, global::libvlcpp.LibvlcMetaT e_meta, [MarshalAs(UnmanagedType.LPStr)] string psz_value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_save_meta")] | |
internal static extern int LibvlcMediaSaveMeta(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_state")] | |
internal static extern global::libvlcpp.LibvlcStateT LibvlcMediaGetState(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_stats")] | |
internal static extern int LibvlcMediaGetStats(global::System.IntPtr p_md, global::System.IntPtr p_stats); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_subitems")] | |
internal static extern global::System.IntPtr LibvlcMediaSubitems(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_event_manager")] | |
internal static extern global::System.IntPtr LibvlcMediaEventManager(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_duration")] | |
internal static extern long LibvlcMediaGetDuration(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_parse_with_options")] | |
internal static extern int LibvlcMediaParseWithOptions(global::System.IntPtr p_md, global::libvlcpp.LibvlcMediaParseFlagT parse_flag, int timeout); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_parse_stop")] | |
internal static extern void LibvlcMediaParseStop(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_parsed_status")] | |
internal static extern global::libvlcpp.LibvlcMediaParsedStatusT LibvlcMediaGetParsedStatus(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_set_user_data")] | |
internal static extern void LibvlcMediaSetUserData(global::System.IntPtr p_md, global::System.IntPtr p_new_user_data); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_user_data")] | |
internal static extern global::System.IntPtr LibvlcMediaGetUserData(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_tracks_get")] | |
internal static extern uint LibvlcMediaTracksGet(global::System.IntPtr p_md, global::System.IntPtr tracks); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_codec_description")] | |
internal static extern global::System.IntPtr LibvlcMediaGetCodecDescription(global::libvlcpp.LibvlcTrackTypeT i_type, uint i_codec); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_tracks_release")] | |
internal static extern void LibvlcMediaTracksRelease(global::System.IntPtr p_tracks, uint i_count); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_type")] | |
internal static extern global::libvlcpp.LibvlcMediaTypeT LibvlcMediaGetType(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_slaves_add")] | |
internal static extern int LibvlcMediaSlavesAdd(global::System.IntPtr p_md, global::libvlcpp.LibvlcMediaSlaveTypeT i_type, uint i_priority, [MarshalAs(UnmanagedType.LPStr)] string psz_uri); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_slaves_clear")] | |
internal static extern void LibvlcMediaSlavesClear(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_slaves_get")] | |
internal static extern uint LibvlcMediaSlavesGet(global::System.IntPtr p_md, global::System.IntPtr ppp_slaves); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_slaves_release")] | |
internal static extern void LibvlcMediaSlavesRelease(global::System.IntPtr pp_slaves, uint i_count); | |
} | |
/// <summary> | |
/// <para>Create a media with a certain given media resource location,</para> | |
/// <para>for instance a valid URL.</para> | |
/// </summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_mrl">the media location</param> | |
/// <returns>the newly created media or NULL on error</returns> | |
/// <remarks> | |
/// <para>To refer to a local file with this function,</para> | |
/// <para>the file://... URI syntaxmustbe used (see IETF RFC3986).</para> | |
/// <para>We recommend using libvlc_media_new_path() instead when dealing with</para> | |
/// <para>local files.</para> | |
/// <para>libvlc_media_release</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaNewLocation(global::libvlcpp.LibvlcInstanceT p_instance, string psz_mrl) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaNewLocation(__arg0, psz_mrl); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Create a media for a certain file path.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="path">local filesystem path</param> | |
/// <returns>the newly created media or NULL on error</returns> | |
/// <remarks>libvlc_media_release</remarks> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaNewPath(global::libvlcpp.LibvlcInstanceT p_instance, string path) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaNewPath(__arg0, path); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Create a media for an already open file descriptor.</para> | |
/// <para>The file descriptor shall be open for reading (or reading and writing).</para> | |
/// </summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="fd">open file descriptor</param> | |
/// <returns>the newly created media or NULL on error</returns> | |
/// <remarks> | |
/// <para>Regular file descriptors, pipe read descriptors and character device</para> | |
/// <para>descriptors (including TTYs) are supported on all platforms.</para> | |
/// <para>Block device descriptors are supported where available.</para> | |
/// <para>Directory descriptors are supported on systems that provide fdopendir().</para> | |
/// <para>Sockets are supported on all platforms where they are file descriptors,</para> | |
/// <para>i.e. all except Windows.</para> | |
/// <para>This library willnotautomatically close the file descriptor</para> | |
/// <para>under any circumstance. Nevertheless, a file descriptor can usually only be</para> | |
/// <para>rendered once in a media player. To render it a second time, the file</para> | |
/// <para>descriptor should probably be rewound to the beginning with lseek().</para> | |
/// <para>libvlc_media_release</para> | |
/// <para>LibVLC 1.1.5 and later.</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaNewFd(global::libvlcpp.LibvlcInstanceT p_instance, int fd) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaNewFd(__arg0, fd); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Create a media with custom callbacks to read the data from.</summary> | |
/// <param name="instance">LibVLC instance</param> | |
/// <param name="open_cb">callback to open the custom bitstream input media</param> | |
/// <param name="read_cb">callback to read data (must not be NULL)</param> | |
/// <param name="seek_cb">callback to seek, or NULL if seeking is not supported</param> | |
/// <param name="close_cb">callback to close the media, or NULL if unnecessary</param> | |
/// <param name="opaque">data pointer for the open callback</param> | |
/// <returns>the newly created media or NULL on error</returns> | |
/// <remarks> | |
/// <para>If open_cb is NULL, the opaque pointer will be passed to read_cb,</para> | |
/// <para>seek_cb and close_cb, and the stream size will be treated as unknown.</para> | |
/// <para>The callbacks may be called asynchronously (from another thread).</para> | |
/// <para>A single stream instance need not be reentrant. However the open_cb needs to</para> | |
/// <para>be reentrant if the media is used by multiple player instances.</para> | |
/// <para>The callbacks may be used until all or any player instances</para> | |
/// <para>that were supplied the media item are stopped.</para> | |
/// <para>libvlc_media_release</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaNewCallbacks(global::libvlcpp.LibvlcInstanceT instance, global::libvlcpp.LibvlcMediaOpenCb open_cb, global::libvlcpp.LibvlcMediaReadCb read_cb, global::libvlcpp.LibvlcMediaSeekCb seek_cb, global::libvlcpp.LibvlcMediaCloseCb close_cb, global::System.IntPtr opaque) | |
{ | |
var __arg0 = ReferenceEquals(instance, null) ? global::System.IntPtr.Zero : instance.__Instance; | |
var __arg1 = open_cb == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(open_cb); | |
var __arg2 = read_cb == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(read_cb); | |
var __arg3 = seek_cb == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(seek_cb); | |
var __arg4 = close_cb == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(close_cb); | |
var __ret = __Internal.LibvlcMediaNewCallbacks(__arg0, __arg1, __arg2, __arg3, __arg4, opaque); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Create a media as an empty node with a given name.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the node</param> | |
/// <returns>the new empty media or NULL on error</returns> | |
/// <remarks>libvlc_media_release</remarks> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaNewAsNode(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaNewAsNode(__arg0, psz_name); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Add an option to the media.</summary> | |
/// <param name="p_md">the media descriptor</param> | |
/// <param name="psz_options">the options (as a string)</param> | |
/// <remarks> | |
/// <para>This option will be used to determine how the media_player will</para> | |
/// <para>read the media. This allows to use VLC's advanced</para> | |
/// <para>reading/streaming options on a per-media basis.</para> | |
/// <para>The options are listed in 'vlc --long-help' from the command line,</para> | |
/// <para>e.g. "-sout-all". Keep in mind that available options and their semantics</para> | |
/// <para>vary across LibVLC versions and builds.</para> | |
/// <para>Not all options affects libvlc_media_t objects:</para> | |
/// <para>Specifically, due to architectural issues most audio and video options,</para> | |
/// <para>such as text renderer options, have no effects on an individual media.</para> | |
/// <para>These options must be set through libvlc_new() instead.</para> | |
/// </remarks> | |
public static void LibvlcMediaAddOption(global::libvlcpp.LibvlcMediaT p_md, string psz_options) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaAddOption(__arg0, psz_options); | |
} | |
/// <summary>Add an option to the media with configurable flags.</summary> | |
/// <param name="p_md">the media descriptor</param> | |
/// <param name="psz_options">the options (as a string)</param> | |
/// <param name="i_flags">the flags for this option</param> | |
/// <remarks> | |
/// <para>This option will be used to determine how the media_player will</para> | |
/// <para>read the media. This allows to use VLC's advanced</para> | |
/// <para>reading/streaming options on a per-media basis.</para> | |
/// <para>The options are detailed in vlc --long-help, for instance</para> | |
/// <para>"--sout-all". Note that all options are not usable on medias:</para> | |
/// <para>specifically, due to architectural issues, video-related options</para> | |
/// <para>such as text renderer options cannot be set on a single media. They</para> | |
/// <para>must be set on the whole libvlc instance instead.</para> | |
/// </remarks> | |
public static void LibvlcMediaAddOptionFlag(global::libvlcpp.LibvlcMediaT p_md, string psz_options, uint i_flags) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaAddOptionFlag(__arg0, psz_options, i_flags); | |
} | |
/// <summary> | |
/// <para>Retain a reference to a media descriptor object (libvlc_media_t). Use</para> | |
/// <para>libvlc_media_release() to decrement the reference count of a</para> | |
/// <para>media descriptor object.</para> | |
/// </summary> | |
/// <param name="p_md">the media descriptor</param> | |
public static void LibvlcMediaRetain(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaRetain(__arg0); | |
} | |
/// <summary> | |
/// <para>Decrement the reference count of a media descriptor object. If the</para> | |
/// <para>reference count is 0, then libvlc_media_release() will release the</para> | |
/// <para>media descriptor object. It will send out an libvlc_MediaFreed event</para> | |
/// <para>to all listeners. If the media descriptor object has been released it</para> | |
/// <para>should not be used again.</para> | |
/// </summary> | |
/// <param name="p_md">the media descriptor</param> | |
public static void LibvlcMediaRelease(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaRelease(__arg0); | |
} | |
/// <summary>Get the media resource locator (mrl) from a media descriptor object</summary> | |
/// <param name="p_md">a media descriptor object</param> | |
/// <returns>string with mrl of media descriptor object</returns> | |
public static sbyte* LibvlcMediaGetMrl(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetMrl(__arg0); | |
return __ret; | |
} | |
/// <summary>Duplicate a media descriptor object.</summary> | |
/// <param name="p_md">a media descriptor object.</param> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaDuplicate(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaDuplicate(__arg0); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Read the meta of the media.</summary> | |
/// <param name="p_md">the media descriptor</param> | |
/// <param name="e_meta">the meta to read</param> | |
/// <returns>the media's meta</returns> | |
/// <remarks> | |
/// <para>If the media has not yet been parsed this will return NULL.</para> | |
/// <para>libvlc_media_parse</para> | |
/// <para>libvlc_media_parse_with_options</para> | |
/// <para>libvlc_MediaMetaChanged</para> | |
/// </remarks> | |
public static sbyte* LibvlcMediaGetMeta(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMetaT e_meta) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetMeta(__arg0, e_meta); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set the meta of the media (this function will not save the meta, call</para> | |
/// <para>libvlc_media_save_meta in order to save the meta)</para> | |
/// </summary> | |
/// <param name="p_md">the media descriptor</param> | |
/// <param name="e_meta">the meta to write</param> | |
/// <param name="psz_value">the media's meta</param> | |
public static void LibvlcMediaSetMeta(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMetaT e_meta, string psz_value) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaSetMeta(__arg0, e_meta, psz_value); | |
} | |
/// <summary>Save the meta previously set</summary> | |
/// <param name="p_md">the media desriptor</param> | |
/// <returns>true if the write operation was successful</returns> | |
public static int LibvlcMediaSaveMeta(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaSaveMeta(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Get current state of media descriptor object. Possible media states are</para> | |
/// <para>libvlc_NothingSpecial=0, libvlc_Opening, libvlc_Playing, libvlc_Paused,</para> | |
/// <para>libvlc_Stopped, libvlc_Ended, libvlc_Error.</para> | |
/// </summary> | |
/// <param name="p_md">a media descriptor object</param> | |
/// <returns>state of media descriptor object</returns> | |
/// <remarks>libvlc_state_t</remarks> | |
public static global::libvlcpp.LibvlcStateT LibvlcMediaGetState(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetState(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the current statistics about the media</summary> | |
/// <param name="p_md:">media descriptor object</param> | |
/// <param name="p_stats:"> | |
/// <para>structure that contain the statistics about the media</para> | |
/// <para>(this structure must be allocated by the caller)</para> | |
/// </param> | |
/// <returns>true if the statistics are available, false otherwise</returns> | |
public static int LibvlcMediaGetStats(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMediaStatsT p_stats) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __arg1 = ReferenceEquals(p_stats, null) ? global::System.IntPtr.Zero : p_stats.__Instance; | |
var __ret = __Internal.LibvlcMediaGetStats(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Get subitems of media descriptor object. This will increment</para> | |
/// <para>the reference count of supplied media descriptor object. Use</para> | |
/// <para>libvlc_media_list_release() to decrement the reference counting.</para> | |
/// </summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <returns>list of media descriptor subitems or NULL</returns> | |
public static global::libvlcpp.LibvlcMediaListT LibvlcMediaSubitems(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaSubitems(__arg0); | |
global::libvlcpp.LibvlcMediaListT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaListT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaListT) global::libvlcpp.LibvlcMediaListT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaListT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Get event manager from media descriptor object.</para> | |
/// <para>NOTE: this function doesn't increment reference counting.</para> | |
/// </summary> | |
/// <param name="p_md">a media descriptor object</param> | |
/// <returns>event manager object</returns> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcMediaEventManager(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get duration (in ms) of media descriptor object item.</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <returns>duration of media item or -1 on error</returns> | |
public static long LibvlcMediaGetDuration(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetDuration(__arg0); | |
return __ret; | |
} | |
/// <summary>Parse the media asynchronously with options.</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <param name="parse_flag">parse options:</param> | |
/// <param name="timeout"> | |
/// <para>maximum time allowed to preparse the media. If -1, the</para> | |
/// <para>default "preparse-timeout" option will be used as a timeout. If 0, it will</para> | |
/// <para>wait indefinitely. If > 0, the timeout will be used (in milliseconds).</para> | |
/// </param> | |
/// <returns>-1 in case of error, 0 otherwise</returns> | |
/// <remarks> | |
/// <para>This fetches (local or network) art, meta data and/or tracks information.</para> | |
/// <para>This method is the extended version of libvlc_media_parse_with_options().</para> | |
/// <para>To track when this is over you can listen to libvlc_MediaParsedChanged</para> | |
/// <para>event. However if this functions returns an error, you will not receive any</para> | |
/// <para>events.</para> | |
/// <para>It uses a flag to specify parse options (see libvlc_media_parse_flag_t). All</para> | |
/// <para>these flags can be combined. By default, media is parsed if it's a local</para> | |
/// <para>file.</para> | |
/// <para>Parsing can be aborted with libvlc_media_parse_stop().</para> | |
/// <para>libvlc_MediaParsedChanged</para> | |
/// <para>libvlc_media_get_meta</para> | |
/// <para>libvlc_media_tracks_get</para> | |
/// <para>libvlc_media_get_parsed_status</para> | |
/// <para>libvlc_media_parse_flag_t</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static int LibvlcMediaParseWithOptions(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMediaParseFlagT parse_flag, int timeout) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaParseWithOptions(__arg0, parse_flag, timeout); | |
return __ret; | |
} | |
/// <summary>Stop the parsing of the media</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <remarks> | |
/// <para>When the media parsing is stopped, the libvlc_MediaParsedChanged event will</para> | |
/// <para>be sent with the libvlc_media_parsed_status_timeout status.</para> | |
/// <para>libvlc_media_parse_with_options</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static void LibvlcMediaParseStop(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaParseStop(__arg0); | |
} | |
/// <summary>Get Parsed status for media descriptor object.</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <returns>a value of the libvlc_media_parsed_status_t enum</returns> | |
/// <remarks> | |
/// <para>libvlc_MediaParsedChanged</para> | |
/// <para>libvlc_media_parsed_status_t</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcMediaParsedStatusT LibvlcMediaGetParsedStatus(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetParsedStatus(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Sets media descriptor's user_data. user_data is specialized data</para> | |
/// <para>accessed by the host application, VLC.framework uses it as a pointer to</para> | |
/// <para>an native object that references a libvlc_media_t pointer</para> | |
/// </summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <param name="p_new_user_data">pointer to user data</param> | |
public static void LibvlcMediaSetUserData(global::libvlcpp.LibvlcMediaT p_md, global::System.IntPtr p_new_user_data) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaSetUserData(__arg0, p_new_user_data); | |
} | |
/// <summary> | |
/// <para>Get media descriptor's user_data. user_data is specialized data</para> | |
/// <para>accessed by the host application, VLC.framework uses it as a pointer to</para> | |
/// <para>an native object that references a libvlc_media_t pointer</para> | |
/// </summary> | |
/// <param name="p_md">media descriptor object</param> | |
public static global::System.IntPtr LibvlcMediaGetUserData(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetUserData(__arg0); | |
return __ret; | |
} | |
/// <summary>Get media descriptor's elementary streams description</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <param name="tracks"> | |
/// <para>address to store an allocated array of Elementary Streams</para> | |
/// <para>descriptions (must be freed with libvlc_media_tracks_release</para> | |
/// <para>by the caller) [OUT]</para> | |
/// </param> | |
/// <returns>the number of Elementary Streams (zero on error)</returns> | |
/// <remarks> | |
/// <para>Note, you need to call libvlc_media_parse() or play the media at least once</para> | |
/// <para>before calling this function.</para> | |
/// <para>Not doing this will result in an empty array.</para> | |
/// <para>LibVLC 2.1.0 and later.</para> | |
/// </remarks> | |
public static uint LibvlcMediaTracksGet(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMediaTrackT tracks) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __arg1 = ReferenceEquals(tracks, null) ? global::System.IntPtr.Zero : tracks.__Instance; | |
var __ret = __Internal.LibvlcMediaTracksGet(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>Get codec description from media elementary stream</summary> | |
/// <param name="i_type">i_type from libvlc_media_track_t</param> | |
/// <param name="i_codec">i_codec or i_original_fourcc from libvlc_media_track_t</param> | |
/// <returns>codec description</returns> | |
/// <remarks> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>libvlc_media_track_t</para> | |
/// </remarks> | |
public static string LibvlcMediaGetCodecDescription(global::libvlcpp.LibvlcTrackTypeT i_type, uint i_codec) | |
{ | |
var __ret = __Internal.LibvlcMediaGetCodecDescription(i_type, i_codec); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Release media descriptor's elementary streams description array</summary> | |
/// <param name="p_tracks">tracks info array to release</param> | |
/// <param name="i_count">number of elements in the array</param> | |
/// <remarks>LibVLC 2.1.0 and later.</remarks> | |
public static void LibvlcMediaTracksRelease(global::libvlcpp.LibvlcMediaTrackT p_tracks, uint i_count) | |
{ | |
var __arg0 = ReferenceEquals(p_tracks, null) ? global::System.IntPtr.Zero : p_tracks.__Instance; | |
__Internal.LibvlcMediaTracksRelease(__arg0, i_count); | |
} | |
/// <summary>Get the media type of the media descriptor object</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <returns>media type</returns> | |
/// <remarks> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>libvlc_media_type_t</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcMediaTypeT LibvlcMediaGetType(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaGetType(__arg0); | |
return __ret; | |
} | |
/// <summary>Add a slave to the current media.</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <param name="i_type">subtitle or audio</param> | |
/// <param name="i_priority">from 0 (low priority) to 4 (high priority)</param> | |
/// <param name="psz_uri">Uri of the slave (should contain a valid scheme).</param> | |
/// <returns>0 on success, -1 on error.</returns> | |
/// <remarks> | |
/// <para>A slave is an external input source that may contains an additional subtitle</para> | |
/// <para>track (like a .srt) or an additional audio track (like a .ac3).</para> | |
/// <para>This function must be called before the media is parsed (via</para> | |
/// <para>libvlc_media_parse_with_options()) or before the media is played (via</para> | |
/// <para>libvlc_media_player_play())</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// </remarks> | |
public static int LibvlcMediaSlavesAdd(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMediaSlaveTypeT i_type, uint i_priority, string psz_uri) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaSlavesAdd(__arg0, i_type, i_priority, psz_uri); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Clear all slaves previously added by libvlc_media_slaves_add() or</para> | |
/// <para>internally.</para> | |
/// </summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static void LibvlcMediaSlavesClear(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaSlavesClear(__arg0); | |
} | |
/// <summary>Get a media descriptor's slave list</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <param name="ppp_slaves"> | |
/// <para>address to store an allocated array of slaves (must be</para> | |
/// <para>freed with libvlc_media_slaves_release()) [OUT]</para> | |
/// </param> | |
/// <returns>the number of slaves (zero on error)</returns> | |
/// <remarks> | |
/// <para>The list will contain slaves parsed by VLC or previously added by</para> | |
/// <para>libvlc_media_slaves_add(). The typical use case of this function is to save</para> | |
/// <para>a list of slave in a database for a later use.</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>libvlc_media_slaves_add</para> | |
/// </remarks> | |
public static uint LibvlcMediaSlavesGet(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMediaSlaveT ppp_slaves) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __arg1 = ReferenceEquals(ppp_slaves, null) ? global::System.IntPtr.Zero : ppp_slaves.__Instance; | |
var __ret = __Internal.LibvlcMediaSlavesGet(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>Release a media descriptor's slave list</summary> | |
/// <param name="pp_slaves">slave array to release</param> | |
/// <param name="i_count">number of elements in the array</param> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static void LibvlcMediaSlavesRelease(global::libvlcpp.LibvlcMediaSlaveT pp_slaves, uint i_count) | |
{ | |
var __arg0 = ReferenceEquals(pp_slaves, null) ? global::System.IntPtr.Zero : pp_slaves.__Instance; | |
__Internal.LibvlcMediaSlavesRelease(__arg0, i_count); | |
} | |
} | |
/// <summary>Description for titles</summary> | |
public enum LibvlcTitle | |
{ | |
LibvlcTitleMenu = 1, | |
LibvlcTitleInteractive = 2 | |
} | |
/// <summary>Marq options definition</summary> | |
public enum LibvlcVideoMarqueeOptionT | |
{ | |
LibvlcMarqueeEnable = 0, | |
LibvlcMarqueeText = 1, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeColor = 2, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeOpacity = 3, | |
/// <summary>string argument</summary> | |
LibvlcMarqueePosition = 4, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeRefresh = 5, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeSize = 6, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeTimeout = 7, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeX = 8, | |
/// <summary>string argument</summary> | |
LibvlcMarqueeY = 9 | |
} | |
/// <summary>Navigation mode</summary> | |
public enum LibvlcNavigateModeT | |
{ | |
LibvlcNavigateActivate = 0, | |
LibvlcNavigateUp = 1, | |
LibvlcNavigateDown = 2, | |
LibvlcNavigateLeft = 3, | |
LibvlcNavigateRight = 4, | |
LibvlcNavigatePopup = 5 | |
} | |
/// <summary>Enumeration of values used to set position (e.g. of video title).</summary> | |
public enum LibvlcPositionT | |
{ | |
LibvlcPositionDisable = -1, | |
LibvlcPositionCenter = 0, | |
LibvlcPositionLeft = 1, | |
LibvlcPositionRight = 2, | |
LibvlcPositionTop = 3, | |
LibvlcPositionTopLeft = 4, | |
LibvlcPositionTopRight = 5, | |
LibvlcPositionBottom = 6, | |
LibvlcPositionBottomLeft = 7, | |
LibvlcPositionBottomRight = 8 | |
} | |
/// <summary> | |
/// <para>Enumeration of teletext keys than can be passed via</para> | |
/// <para>libvlc_video_set_teletext()</para> | |
/// </summary> | |
public enum LibvlcTeletextKeyT | |
{ | |
LibvlcTeletextKeyRed = 7471104, | |
LibvlcTeletextKeyGreen = 6750208, | |
LibvlcTeletextKeyYellow = 7929856, | |
LibvlcTeletextKeyBlue = 6422528, | |
LibvlcTeletextKeyIndex = 6881280 | |
} | |
/// <summary>option values for libvlc_video_{get,set}_logo_{int,string}</summary> | |
public enum LibvlcVideoLogoOptionT | |
{ | |
LibvlcLogoEnable = 0, | |
/// <summary>string argument, "file,d,t;file,d,t;..."</summary> | |
LibvlcLogoFile = 1, | |
LibvlcLogoX = 2, | |
LibvlcLogoY = 3, | |
LibvlcLogoDelay = 4, | |
LibvlcLogoRepeat = 5, | |
LibvlcLogoOpacity = 6, | |
LibvlcLogoPosition = 7 | |
} | |
/// <summary>option values for libvlc_video_{get,set}_adjust_{int,float,bool}</summary> | |
public enum LibvlcVideoAdjustOptionT | |
{ | |
LibvlcAdjustEnable = 0, | |
LibvlcAdjustContrast = 1, | |
LibvlcAdjustBrightness = 2, | |
LibvlcAdjustHue = 3, | |
LibvlcAdjustSaturation = 4, | |
LibvlcAdjustGamma = 5 | |
} | |
/// <summary>Audio device types</summary> | |
public enum LibvlcAudioOutputDeviceTypesT | |
{ | |
LibvlcAudioOutputDeviceError = -1, | |
LibvlcAudioOutputDeviceMono = 1, | |
LibvlcAudioOutputDeviceStereo = 2, | |
LibvlcAudioOutputDevice2F2R = 4, | |
LibvlcAudioOutputDevice3F2R = 5, | |
LibvlcAudioOutputDevice5_1 = 6, | |
LibvlcAudioOutputDevice6_1 = 7, | |
LibvlcAudioOutputDevice7_1 = 8, | |
LibvlcAudioOutputDeviceSPDIF = 10 | |
} | |
/// <summary>Audio channels</summary> | |
public enum LibvlcAudioOutputChannelT | |
{ | |
LibvlcAudioChannelError = -1, | |
LibvlcAudioChannelStereo = 1, | |
LibvlcAudioChannelRStereo = 2, | |
LibvlcAudioChannelLeft = 3, | |
LibvlcAudioChannelRight = 4, | |
LibvlcAudioChannelDolbys = 5 | |
} | |
/// <summary>Media player roles.</summary> | |
/// <remarks> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>See</para> | |
/// </remarks> | |
public enum LibvlcMediaPlayerRole | |
{ | |
/// <summary>Don't use a media player role</summary> | |
LibvlcRoleNone = 0, | |
/// <summary>Music (or radio) playback</summary> | |
LibvlcRoleMusic = 1, | |
/// <summary>Video playback</summary> | |
LibvlcRoleVideo = 2, | |
/// <summary>Speech, real-time communication</summary> | |
LibvlcRoleCommunication = 3, | |
/// <summary>Video game</summary> | |
LibvlcRoleGame = 4, | |
/// <summary>User interaction feedback</summary> | |
LiblvcRoleNotification = 5, | |
/// <summary>Embedded animation (e.g. in web page)</summary> | |
LibvlcRoleAnimation = 6, | |
/// <summary>Audio editting/production</summary> | |
LibvlcRoleProduction = 7, | |
/// <summary>Accessibility</summary> | |
LibvlcRoleAccessibility = 8, | |
LibvlcRoleTest = 9 | |
} | |
/// <summary> | |
/// <para>A LibVLC media player plays one media (usually in a custom drawable).</para> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC simple media player external API</para> | |
/// </summary> | |
/// <summary>Opaque equalizer handle.</summary> | |
/// <remarks>Equalizer settings can be applied to a media player.</remarks> | |
/// <summary>Callback prototype to allocate and lock a picture buffer.</summary> | |
/// <param name="opaque">private pointer as passed to libvlc_video_set_callbacks() [IN]</param> | |
/// <param name="planes"> | |
/// <para>start address of the pixel planes (LibVLC allocates the array</para> | |
/// <para>of void pointers, this callback must initialize the array) [OUT]</para> | |
/// </param> | |
/// <returns> | |
/// <para>a private pointer for the display and unlock callbacks to identify</para> | |
/// <para>the picture buffers</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>Whenever a new video frame needs to be decoded, the lock callback is</para> | |
/// <para>invoked. Depending on the video chroma, one or three pixel planes of</para> | |
/// <para>adequate dimensions must be returned via the second parameter. Those</para> | |
/// <para>planes must be aligned on 32-bytes boundaries.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate global::System.IntPtr LibvlcVideoLockCb(global::System.IntPtr opaque, void** planes); | |
/// <summary>Callback prototype to unlock a picture buffer.</summary> | |
/// <param name="opaque">private pointer as passed to libvlc_video_set_callbacks() [IN]</param> | |
/// <param name="picture">private pointer returned from the</param> | |
/// <param name="planes">pixel planes as defined by the</param> | |
/// <remarks> | |
/// <para>When the video frame decoding is complete, the unlock callback is invoked.</para> | |
/// <para>This callback might not be needed at all. It is only an indication that the</para> | |
/// <para>application can now read the pixel values if it needs to.</para> | |
/// <para>A picture buffer is unlocked after the picture is decoded,</para> | |
/// <para>but before the picture is displayed.</para> | |
/// <para>callback [IN]</para> | |
/// <para>callback (this parameter is only for convenience) [IN]</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcVideoUnlockCb(global::System.IntPtr opaque, global::System.IntPtr picture, void** planes); | |
/// <summary>Callback prototype to display a picture.</summary> | |
/// <param name="opaque">private pointer as passed to libvlc_video_set_callbacks() [IN]</param> | |
/// <param name="picture">private pointer returned from the</param> | |
/// <remarks> | |
/// <para>When the video frame needs to be shown, as determined by the media playback</para> | |
/// <para>clock, the display callback is invoked.</para> | |
/// <para>callback [IN]</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcVideoDisplayCb(global::System.IntPtr opaque, global::System.IntPtr picture); | |
/// <summary> | |
/// <para>Callback prototype to configure picture buffers format.</para> | |
/// <para>This callback gets the format of the video as output by the video decoder</para> | |
/// <para>and the chain of video filters (if any). It can opt to change any parameter</para> | |
/// <para>as it needs. In that case, LibVLC will attempt to convert the video format</para> | |
/// <para>(rescaling and chroma conversion) but these operations can be CPU intensive.</para> | |
/// </summary> | |
/// <param name="opaque"> | |
/// <para>pointer to the private pointer passed to</para> | |
/// <para>libvlc_video_set_callbacks() [IN/OUT]</para> | |
/// </param> | |
/// <param name="chroma">pointer to the 4 bytes video format identifier [IN/OUT]</param> | |
/// <param name="width">pointer to the pixel width [IN/OUT]</param> | |
/// <param name="height">pointer to the pixel height [IN/OUT]</param> | |
/// <param name="pitches"> | |
/// <para>table of scanline pitches in bytes for each pixel plane</para> | |
/// <para>(the table is allocated by LibVLC) [OUT]</para> | |
/// </param> | |
/// <param name="lines">table of scanlines count for each plane [OUT]</param> | |
/// <returns>the number of picture buffers allocated, 0 indicates failure</returns> | |
/// <remarks> | |
/// <para>For each pixels plane, the scanline pitch must be bigger than or equal to</para> | |
/// <para>the number of bytes per pixel multiplied by the pixel width.</para> | |
/// <para>Similarly, the number of scanlines must be bigger than of equal to</para> | |
/// <para>the pixel height.</para> | |
/// <para>Furthermore, we recommend that pitches and lines be multiple of 32</para> | |
/// <para>to not break assumptions that might be held by optimized code</para> | |
/// <para>in the video decoders, video filters and/or video converters.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate uint LibvlcVideoFormatCb(void** opaque, sbyte* chroma, uint* width, uint* height, uint* pitches, uint* lines); | |
/// <summary>Callback prototype to configure picture buffers format.</summary> | |
/// <param name="opaque"> | |
/// <para>private pointer as passed to libvlc_video_set_callbacks()</para> | |
/// <para>(and possibly modified by</para> | |
/// </param> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcVideoCleanupCb(global::System.IntPtr opaque); | |
/// <summary>Callback prototype for audio playback.</summary> | |
/// <param name="data">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <param name="samples">pointer to a table of audio samples to play back [IN]</param> | |
/// <param name="count">number of audio samples to play back</param> | |
/// <param name="pts">expected play time stamp (see libvlc_delay())</param> | |
/// <remarks> | |
/// <para>The LibVLC media player decodes and post-processes the audio signal</para> | |
/// <para>asynchronously (in an internal thread). Whenever audio samples are ready</para> | |
/// <para>to be queued to the output, this callback is invoked.</para> | |
/// <para>The number of samples provided per invocation may depend on the file format,</para> | |
/// <para>the audio coding algorithm, the decoder plug-in, the post-processing</para> | |
/// <para>filters and timing. Application must not assume a certain number of samples.</para> | |
/// <para>The exact format of audio samples is determined by libvlc_audio_set_format()</para> | |
/// <para>or libvlc_audio_set_format_callbacks() as is the channels layout.</para> | |
/// <para>Note that the number of samples is per channel. For instance, if the audio</para> | |
/// <para>track sampling rate is 48000 Hz, then 1200 samples represent 25 milliseconds</para> | |
/// <para>of audio signal - regardless of the number of audio channels.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioPlayCb(global::System.IntPtr data, global::System.IntPtr samples, uint count, long pts); | |
/// <summary>Callback prototype for audio pause.</summary> | |
/// <param name="data">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <param name="pts">time stamp of the pause request (should be elapsed already)</param> | |
/// <remarks> | |
/// <para>LibVLC invokes this callback to pause audio playback.</para> | |
/// <para>The pause callback is never called if the audio is already paused.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioPauseCb(global::System.IntPtr data, long pts); | |
/// <summary>Callback prototype for audio resumption.</summary> | |
/// <param name="data">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <param name="pts">time stamp of the resumption request (should be elapsed already)</param> | |
/// <remarks> | |
/// <para>LibVLC invokes this callback to resume audio playback after it was</para> | |
/// <para>previously paused.</para> | |
/// <para>The resume callback is never called if the audio is not paused.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioResumeCb(global::System.IntPtr data, long pts); | |
/// <summary>Callback prototype for audio buffer flush.</summary> | |
/// <param name="data">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <remarks> | |
/// <para>LibVLC invokes this callback if it needs to discard all pending buffers and</para> | |
/// <para>stop playback as soon as possible. This typically occurs when the media is</para> | |
/// <para>stopped.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioFlushCb(global::System.IntPtr data, long pts); | |
/// <summary>Callback prototype for audio buffer drain.</summary> | |
/// <param name="data">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <remarks> | |
/// <para>LibVLC may invoke this callback when the decoded audio track is ending.</para> | |
/// <para>There will be no further decoded samples for the track, but playback should</para> | |
/// <para>nevertheless continue until all already pending buffers are rendered.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioDrainCb(global::System.IntPtr data); | |
/// <summary>Callback prototype for audio volume change.</summary> | |
/// <param name="data">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <param name="volume">software volume (1. = nominal, 0. = mute)</param> | |
/// <param name="mute">muted flag</param> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioSetVolumeCb(global::System.IntPtr data, float volume, [MarshalAs(UnmanagedType.I1)] bool mute); | |
/// <summary>Callback prototype to setup the audio playback.</summary> | |
/// <param name="opaque"> | |
/// <para>pointer to the data pointer passed to</para> | |
/// <para>libvlc_audio_set_callbacks() [IN/OUT]</para> | |
/// </param> | |
/// <param name="format">4 bytes sample format [IN/OUT]</param> | |
/// <param name="rate">sample rate [IN/OUT]</param> | |
/// <param name="channels">channels count [IN/OUT]</param> | |
/// <returns>0 on success, anything else to skip audio playback</returns> | |
/// <remarks>This is called when the media player needs to create a new audio output.</remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int LibvlcAudioSetupCb(void** data, sbyte* format, uint* rate, uint* channels); | |
/// <summary>Callback prototype for audio playback cleanup.</summary> | |
/// <param name="opaque">data pointer as passed to libvlc_audio_set_callbacks() [IN]</param> | |
/// <remarks>This is called when the media player no longer needs an audio output.</remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LibvlcAudioCleanupCb(global::System.IntPtr data); | |
public unsafe partial class LibvlcMediaPlayerT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaPlayerT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaPlayerT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaPlayerT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaPlayerT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaPlayerT __CreateInstance(global::libvlcpp.LibvlcMediaPlayerT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaPlayerT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaPlayerT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaPlayerT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaPlayerT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaPlayerT(global::libvlcpp.LibvlcMediaPlayerT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaPlayerT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class LibvlcEqualizerT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcEqualizerT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcEqualizerT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcEqualizerT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcEqualizerT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcEqualizerT __CreateInstance(global::libvlcpp.LibvlcEqualizerT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcEqualizerT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcEqualizerT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcEqualizerT.__Internal)); | |
*(global::libvlcpp.LibvlcEqualizerT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcEqualizerT(global::libvlcpp.LibvlcEqualizerT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcEqualizerT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
/// <summary> | |
/// <para>Description for video, audio tracks and subtitles. It contains</para> | |
/// <para>id, name (description string) and pointer to next record.</para> | |
/// </summary> | |
public unsafe partial class LibvlcTrackDescriptionT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 24)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int i_id; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(16)] | |
internal global::System.IntPtr p_next; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_track_description_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcTrackDescriptionT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcTrackDescriptionT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcTrackDescriptionT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcTrackDescriptionT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcTrackDescriptionT __CreateInstance(global::libvlcpp.LibvlcTrackDescriptionT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcTrackDescriptionT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcTrackDescriptionT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcTrackDescriptionT.__Internal)); | |
*(global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcTrackDescriptionT(global::libvlcpp.LibvlcTrackDescriptionT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcTrackDescriptionT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcTrackDescriptionT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcTrackDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcTrackDescriptionT(global::libvlcpp.LibvlcTrackDescriptionT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcTrackDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcTrackDescriptionT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public int IId | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->i_id; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->i_id = value; | |
} | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
public global::libvlcpp.LibvlcTrackDescriptionT PNext | |
{ | |
get | |
{ | |
global::libvlcpp.LibvlcTrackDescriptionT __result0; | |
if (((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->p_next == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap.ContainsKey(((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->p_next)) | |
__result0 = (global::libvlcpp.LibvlcTrackDescriptionT) global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap[((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->p_next]; | |
else __result0 = global::libvlcpp.LibvlcTrackDescriptionT.__CreateInstance(((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->p_next); | |
return __result0; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcTrackDescriptionT.__Internal*) __Instance)->p_next = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; | |
} | |
} | |
} | |
public unsafe partial class LibvlcTitleDescriptionT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 24)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long i_duration; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(16)] | |
internal uint i_flags; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_title_description_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcTitleDescriptionT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcTitleDescriptionT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcTitleDescriptionT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcTitleDescriptionT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcTitleDescriptionT __CreateInstance(global::libvlcpp.LibvlcTitleDescriptionT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcTitleDescriptionT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcTitleDescriptionT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcTitleDescriptionT.__Internal)); | |
*(global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcTitleDescriptionT(global::libvlcpp.LibvlcTitleDescriptionT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcTitleDescriptionT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcTitleDescriptionT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcTitleDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcTitleDescriptionT(global::libvlcpp.LibvlcTitleDescriptionT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcTitleDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcTitleDescriptionT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public long IDuration | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance)->i_duration; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance)->i_duration = value; | |
} | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
public uint IFlags | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance)->i_flags; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcTitleDescriptionT.__Internal*) __Instance)->i_flags = value; | |
} | |
} | |
} | |
/// <summary>Description for chapters</summary> | |
public unsafe partial class LibvlcChapterDescriptionT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 24)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long i_time_offset; | |
[FieldOffset(8)] | |
internal long i_duration; | |
[FieldOffset(16)] | |
internal global::System.IntPtr psz_name; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_chapter_description_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcChapterDescriptionT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcChapterDescriptionT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcChapterDescriptionT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcChapterDescriptionT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcChapterDescriptionT __CreateInstance(global::libvlcpp.LibvlcChapterDescriptionT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcChapterDescriptionT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcChapterDescriptionT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcChapterDescriptionT.__Internal)); | |
*(global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcChapterDescriptionT(global::libvlcpp.LibvlcChapterDescriptionT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcChapterDescriptionT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcChapterDescriptionT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcChapterDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcChapterDescriptionT(global::libvlcpp.LibvlcChapterDescriptionT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcChapterDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcChapterDescriptionT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public long ITimeOffset | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance)->i_time_offset; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance)->i_time_offset = value; | |
} | |
} | |
public long IDuration | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance)->i_duration; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance)->i_duration = value; | |
} | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcChapterDescriptionT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
} | |
/// <summary> | |
/// <para>Description for audio output. It contains</para> | |
/// <para>name, description and pointer to next record.</para> | |
/// </summary> | |
public unsafe partial class LibvlcAudioOutputT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 24)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_description; | |
[FieldOffset(16)] | |
internal global::System.IntPtr p_next; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_audio_output_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcAudioOutputT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcAudioOutputT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcAudioOutputT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcAudioOutputT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcAudioOutputT __CreateInstance(global::libvlcpp.LibvlcAudioOutputT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcAudioOutputT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcAudioOutputT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioOutputT.__Internal)); | |
*(global::libvlcpp.LibvlcAudioOutputT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcAudioOutputT(global::libvlcpp.LibvlcAudioOutputT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcAudioOutputT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcAudioOutputT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioOutputT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcAudioOutputT(global::libvlcpp.LibvlcAudioOutputT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioOutputT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcAudioOutputT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcAudioOutputT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszDescription | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->psz_description; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->psz_description = (global::System.IntPtr) value; | |
} | |
} | |
public global::libvlcpp.LibvlcAudioOutputT PNext | |
{ | |
get | |
{ | |
global::libvlcpp.LibvlcAudioOutputT __result0; | |
if (((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->p_next == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcAudioOutputT.NativeToManagedMap.ContainsKey(((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->p_next)) | |
__result0 = (global::libvlcpp.LibvlcAudioOutputT) global::libvlcpp.LibvlcAudioOutputT.NativeToManagedMap[((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->p_next]; | |
else __result0 = global::libvlcpp.LibvlcAudioOutputT.__CreateInstance(((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->p_next); | |
return __result0; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioOutputT.__Internal*) __Instance)->p_next = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; | |
} | |
} | |
} | |
/// <summary>Description for audio output device.</summary> | |
public unsafe partial class LibvlcAudioOutputDeviceT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 24)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr p_next; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_device; | |
[FieldOffset(16)] | |
internal global::System.IntPtr psz_description; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_audio_output_device_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcAudioOutputDeviceT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcAudioOutputDeviceT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcAudioOutputDeviceT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcAudioOutputDeviceT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcAudioOutputDeviceT __CreateInstance(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcAudioOutputDeviceT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal)); | |
*(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcAudioOutputDeviceT(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcAudioOutputDeviceT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcAudioOutputDeviceT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcAudioOutputDeviceT(global::libvlcpp.LibvlcAudioOutputDeviceT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcAudioOutputDeviceT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public global::libvlcpp.LibvlcAudioOutputDeviceT PNext | |
{ | |
get | |
{ | |
global::libvlcpp.LibvlcAudioOutputDeviceT __result0; | |
if (((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->p_next == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcAudioOutputDeviceT.NativeToManagedMap.ContainsKey(((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->p_next)) | |
__result0 = (global::libvlcpp.LibvlcAudioOutputDeviceT) global::libvlcpp.LibvlcAudioOutputDeviceT.NativeToManagedMap[((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->p_next]; | |
else __result0 = global::libvlcpp.LibvlcAudioOutputDeviceT.__CreateInstance(((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->p_next); | |
return __result0; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->p_next = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; | |
} | |
} | |
public sbyte* PszDevice | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->psz_device; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->psz_device = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszDescription | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->psz_description; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcAudioOutputDeviceT.__Internal*) __Instance)->psz_description = (global::System.IntPtr) value; | |
} | |
} | |
} | |
public unsafe partial class libvlc_media_player | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_new")] | |
internal static extern global::System.IntPtr LibvlcMediaPlayerNew(global::System.IntPtr p_libvlc_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_new_from_media")] | |
internal static extern global::System.IntPtr LibvlcMediaPlayerNewFromMedia(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_release")] | |
internal static extern void LibvlcMediaPlayerRelease(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_retain")] | |
internal static extern void LibvlcMediaPlayerRetain(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_media")] | |
internal static extern void LibvlcMediaPlayerSetMedia(global::System.IntPtr p_mi, global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_media")] | |
internal static extern global::System.IntPtr LibvlcMediaPlayerGetMedia(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_event_manager")] | |
internal static extern global::System.IntPtr LibvlcMediaPlayerEventManager(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_is_playing")] | |
internal static extern int LibvlcMediaPlayerIsPlaying(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_play")] | |
internal static extern int LibvlcMediaPlayerPlay(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_pause")] | |
internal static extern void LibvlcMediaPlayerSetPause(global::System.IntPtr mp, int do_pause); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_pause")] | |
internal static extern void LibvlcMediaPlayerPause(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_stop")] | |
internal static extern void LibvlcMediaPlayerStop(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_renderer")] | |
internal static extern int LibvlcMediaPlayerSetRenderer(global::System.IntPtr p_mi, global::System.IntPtr p_item); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_callbacks")] | |
internal static extern void LibvlcVideoSetCallbacks(global::System.IntPtr mp, global::System.IntPtr @lock, global::System.IntPtr unlock, global::System.IntPtr display, global::System.IntPtr opaque); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_format")] | |
internal static extern void LibvlcVideoSetFormat(global::System.IntPtr mp, [MarshalAs(UnmanagedType.LPStr)] string chroma, uint width, uint height, uint pitch); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_format_callbacks")] | |
internal static extern void LibvlcVideoSetFormatCallbacks(global::System.IntPtr mp, global::System.IntPtr setup, global::System.IntPtr cleanup); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_nsobject")] | |
internal static extern void LibvlcMediaPlayerSetNsobject(global::System.IntPtr p_mi, global::System.IntPtr drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_nsobject")] | |
internal static extern global::System.IntPtr LibvlcMediaPlayerGetNsobject(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_xwindow")] | |
internal static extern void LibvlcMediaPlayerSetXwindow(global::System.IntPtr p_mi, uint drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_xwindow")] | |
internal static extern uint LibvlcMediaPlayerGetXwindow(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_hwnd")] | |
internal static extern void LibvlcMediaPlayerSetHwnd(global::System.IntPtr p_mi, global::System.IntPtr drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_hwnd")] | |
internal static extern global::System.IntPtr LibvlcMediaPlayerGetHwnd(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_android_context")] | |
internal static extern void LibvlcMediaPlayerSetAndroidContext(global::System.IntPtr p_mi, global::System.IntPtr p_awindow_handler); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_evas_object")] | |
internal static extern int LibvlcMediaPlayerSetEvasObject(global::System.IntPtr p_mi, global::System.IntPtr p_evas_object); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_callbacks")] | |
internal static extern void LibvlcAudioSetCallbacks(global::System.IntPtr mp, global::System.IntPtr play, global::System.IntPtr pause, global::System.IntPtr resume, global::System.IntPtr flush, global::System.IntPtr drain, global::System.IntPtr opaque); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_volume_callback")] | |
internal static extern void LibvlcAudioSetVolumeCallback(global::System.IntPtr mp, global::System.IntPtr set_volume); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_format_callbacks")] | |
internal static extern void LibvlcAudioSetFormatCallbacks(global::System.IntPtr mp, global::System.IntPtr setup, global::System.IntPtr cleanup); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_format")] | |
internal static extern void LibvlcAudioSetFormat(global::System.IntPtr mp, [MarshalAs(UnmanagedType.LPStr)] string format, uint rate, uint channels); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_length")] | |
internal static extern long LibvlcMediaPlayerGetLength(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_time")] | |
internal static extern long LibvlcMediaPlayerGetTime(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_time")] | |
internal static extern void LibvlcMediaPlayerSetTime(global::System.IntPtr p_mi, long i_time); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_position")] | |
internal static extern float LibvlcMediaPlayerGetPosition(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_position")] | |
internal static extern void LibvlcMediaPlayerSetPosition(global::System.IntPtr p_mi, float f_pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_chapter")] | |
internal static extern void LibvlcMediaPlayerSetChapter(global::System.IntPtr p_mi, int i_chapter); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_chapter")] | |
internal static extern int LibvlcMediaPlayerGetChapter(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_chapter_count")] | |
internal static extern int LibvlcMediaPlayerGetChapterCount(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_will_play")] | |
internal static extern int LibvlcMediaPlayerWillPlay(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_chapter_count_for_title")] | |
internal static extern int LibvlcMediaPlayerGetChapterCountForTitle(global::System.IntPtr p_mi, int i_title); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_title")] | |
internal static extern void LibvlcMediaPlayerSetTitle(global::System.IntPtr p_mi, int i_title); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_title")] | |
internal static extern int LibvlcMediaPlayerGetTitle(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_title_count")] | |
internal static extern int LibvlcMediaPlayerGetTitleCount(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_previous_chapter")] | |
internal static extern void LibvlcMediaPlayerPreviousChapter(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_next_chapter")] | |
internal static extern void LibvlcMediaPlayerNextChapter(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_rate")] | |
internal static extern float LibvlcMediaPlayerGetRate(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_rate")] | |
internal static extern int LibvlcMediaPlayerSetRate(global::System.IntPtr p_mi, float rate); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_state")] | |
internal static extern global::libvlcpp.LibvlcStateT LibvlcMediaPlayerGetState(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_has_vout")] | |
internal static extern uint LibvlcMediaPlayerHasVout(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_is_seekable")] | |
internal static extern int LibvlcMediaPlayerIsSeekable(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_can_pause")] | |
internal static extern int LibvlcMediaPlayerCanPause(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_program_scrambled")] | |
internal static extern int LibvlcMediaPlayerProgramScrambled(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_next_frame")] | |
internal static extern void LibvlcMediaPlayerNextFrame(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_navigate")] | |
internal static extern void LibvlcMediaPlayerNavigate(global::System.IntPtr p_mi, uint navigate); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_video_title_display")] | |
internal static extern void LibvlcMediaPlayerSetVideoTitleDisplay(global::System.IntPtr p_mi, global::libvlcpp.LibvlcPositionT position, uint timeout); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_add_slave")] | |
internal static extern int LibvlcMediaPlayerAddSlave(global::System.IntPtr p_mi, global::libvlcpp.LibvlcMediaSlaveTypeT i_type, [MarshalAs(UnmanagedType.LPStr)] string psz_uri, bool b_select); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_track_description_list_release")] | |
internal static extern void LibvlcTrackDescriptionListRelease(global::System.IntPtr p_track_description); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_toggle_fullscreen")] | |
internal static extern void LibvlcToggleFullscreen(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_set_fullscreen")] | |
internal static extern void LibvlcSetFullscreen(global::System.IntPtr p_mi, int b_fullscreen); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_get_fullscreen")] | |
internal static extern int LibvlcGetFullscreen(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_key_input")] | |
internal static extern void LibvlcVideoSetKeyInput(global::System.IntPtr p_mi, uint on); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_mouse_input")] | |
internal static extern void LibvlcVideoSetMouseInput(global::System.IntPtr p_mi, uint on); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_size")] | |
internal static extern int LibvlcVideoGetSize(global::System.IntPtr p_mi, uint num, uint* px, uint* py); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_cursor")] | |
internal static extern int LibvlcVideoGetCursor(global::System.IntPtr p_mi, uint num, int* px, int* py); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_scale")] | |
internal static extern float LibvlcVideoGetScale(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_scale")] | |
internal static extern void LibvlcVideoSetScale(global::System.IntPtr p_mi, float f_factor); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_aspect_ratio")] | |
internal static extern sbyte* LibvlcVideoGetAspectRatio(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_aspect_ratio")] | |
internal static extern void LibvlcVideoSetAspectRatio(global::System.IntPtr p_mi, [MarshalAs(UnmanagedType.LPStr)] string psz_aspect); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_new_viewpoint")] | |
internal static extern global::System.IntPtr LibvlcVideoNewViewpoint(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_update_viewpoint")] | |
internal static extern int LibvlcVideoUpdateViewpoint(global::System.IntPtr p_mi, global::System.IntPtr p_viewpoint, bool b_absolute); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_spu")] | |
internal static extern int LibvlcVideoGetSpu(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_spu_count")] | |
internal static extern int LibvlcVideoGetSpuCount(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_spu_description")] | |
internal static extern global::System.IntPtr LibvlcVideoGetSpuDescription(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_spu")] | |
internal static extern int LibvlcVideoSetSpu(global::System.IntPtr p_mi, int i_spu); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_spu_delay")] | |
internal static extern long LibvlcVideoGetSpuDelay(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_spu_delay")] | |
internal static extern int LibvlcVideoSetSpuDelay(global::System.IntPtr p_mi, long i_delay); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_full_title_descriptions")] | |
internal static extern int LibvlcMediaPlayerGetFullTitleDescriptions(global::System.IntPtr p_mi, global::System.IntPtr titles); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_title_descriptions_release")] | |
internal static extern void LibvlcTitleDescriptionsRelease(global::System.IntPtr p_titles, uint i_count); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_full_chapter_descriptions")] | |
internal static extern int LibvlcMediaPlayerGetFullChapterDescriptions(global::System.IntPtr p_mi, int i_chapters_of_title, global::System.IntPtr pp_chapters); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_chapter_descriptions_release")] | |
internal static extern void LibvlcChapterDescriptionsRelease(global::System.IntPtr p_chapters, uint i_count); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_crop_geometry")] | |
internal static extern sbyte* LibvlcVideoGetCropGeometry(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_crop_geometry")] | |
internal static extern void LibvlcVideoSetCropGeometry(global::System.IntPtr p_mi, [MarshalAs(UnmanagedType.LPStr)] string psz_geometry); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_teletext")] | |
internal static extern int LibvlcVideoGetTeletext(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_teletext")] | |
internal static extern void LibvlcVideoSetTeletext(global::System.IntPtr p_mi, int i_page); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_track_count")] | |
internal static extern int LibvlcVideoGetTrackCount(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_track_description")] | |
internal static extern global::System.IntPtr LibvlcVideoGetTrackDescription(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_track")] | |
internal static extern int LibvlcVideoGetTrack(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_track")] | |
internal static extern int LibvlcVideoSetTrack(global::System.IntPtr p_mi, int i_track); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_take_snapshot")] | |
internal static extern int LibvlcVideoTakeSnapshot(global::System.IntPtr p_mi, uint num, [MarshalAs(UnmanagedType.LPStr)] string psz_filepath, uint i_width, uint i_height); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_deinterlace")] | |
internal static extern void LibvlcVideoSetDeinterlace(global::System.IntPtr p_mi, [MarshalAs(UnmanagedType.LPStr)] string psz_mode); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_marquee_int")] | |
internal static extern int LibvlcVideoGetMarqueeInt(global::System.IntPtr p_mi, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_marquee_string")] | |
internal static extern sbyte* LibvlcVideoGetMarqueeString(global::System.IntPtr p_mi, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_marquee_int")] | |
internal static extern void LibvlcVideoSetMarqueeInt(global::System.IntPtr p_mi, uint option, int i_val); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_marquee_string")] | |
internal static extern void LibvlcVideoSetMarqueeString(global::System.IntPtr p_mi, uint option, [MarshalAs(UnmanagedType.LPStr)] string psz_text); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_logo_int")] | |
internal static extern int LibvlcVideoGetLogoInt(global::System.IntPtr p_mi, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_logo_int")] | |
internal static extern void LibvlcVideoSetLogoInt(global::System.IntPtr p_mi, uint option, int value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_logo_string")] | |
internal static extern void LibvlcVideoSetLogoString(global::System.IntPtr p_mi, uint option, [MarshalAs(UnmanagedType.LPStr)] string psz_value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_adjust_int")] | |
internal static extern int LibvlcVideoGetAdjustInt(global::System.IntPtr p_mi, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_adjust_int")] | |
internal static extern void LibvlcVideoSetAdjustInt(global::System.IntPtr p_mi, uint option, int value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_adjust_float")] | |
internal static extern float LibvlcVideoGetAdjustFloat(global::System.IntPtr p_mi, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_adjust_float")] | |
internal static extern void LibvlcVideoSetAdjustFloat(global::System.IntPtr p_mi, uint option, float value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_list_get")] | |
internal static extern global::System.IntPtr LibvlcAudioOutputListGet(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_list_release")] | |
internal static extern void LibvlcAudioOutputListRelease(global::System.IntPtr p_list); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_set")] | |
internal static extern int LibvlcAudioOutputSet(global::System.IntPtr p_mi, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_enum")] | |
internal static extern global::System.IntPtr LibvlcAudioOutputDeviceEnum(global::System.IntPtr mp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_list_get")] | |
internal static extern global::System.IntPtr LibvlcAudioOutputDeviceListGet(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string aout); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_list_release")] | |
internal static extern void LibvlcAudioOutputDeviceListRelease(global::System.IntPtr p_list); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_set")] | |
internal static extern void LibvlcAudioOutputDeviceSet(global::System.IntPtr mp, [MarshalAs(UnmanagedType.LPStr)] string module, [MarshalAs(UnmanagedType.LPStr)] string device_id); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_get")] | |
internal static extern sbyte* LibvlcAudioOutputDeviceGet(global::System.IntPtr mp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_toggle_mute")] | |
internal static extern void LibvlcAudioToggleMute(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_mute")] | |
internal static extern int LibvlcAudioGetMute(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_mute")] | |
internal static extern void LibvlcAudioSetMute(global::System.IntPtr p_mi, int status); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_volume")] | |
internal static extern int LibvlcAudioGetVolume(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_volume")] | |
internal static extern int LibvlcAudioSetVolume(global::System.IntPtr p_mi, int i_volume); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_track_count")] | |
internal static extern int LibvlcAudioGetTrackCount(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_track_description")] | |
internal static extern global::System.IntPtr LibvlcAudioGetTrackDescription(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_track")] | |
internal static extern int LibvlcAudioGetTrack(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_track")] | |
internal static extern int LibvlcAudioSetTrack(global::System.IntPtr p_mi, int i_track); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_channel")] | |
internal static extern int LibvlcAudioGetChannel(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_channel")] | |
internal static extern int LibvlcAudioSetChannel(global::System.IntPtr p_mi, int channel); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_get_delay")] | |
internal static extern long LibvlcAudioGetDelay(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_set_delay")] | |
internal static extern int LibvlcAudioSetDelay(global::System.IntPtr p_mi, long i_delay); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_get_preset_count")] | |
internal static extern uint LibvlcAudioEqualizerGetPresetCount(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_get_preset_name")] | |
internal static extern global::System.IntPtr LibvlcAudioEqualizerGetPresetName(uint u_index); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_get_band_count")] | |
internal static extern uint LibvlcAudioEqualizerGetBandCount(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_get_band_frequency")] | |
internal static extern float LibvlcAudioEqualizerGetBandFrequency(uint u_index); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_new")] | |
internal static extern global::System.IntPtr LibvlcAudioEqualizerNew(); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_new_from_preset")] | |
internal static extern global::System.IntPtr LibvlcAudioEqualizerNewFromPreset(uint u_index); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_release")] | |
internal static extern void LibvlcAudioEqualizerRelease(global::System.IntPtr p_equalizer); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_set_preamp")] | |
internal static extern int LibvlcAudioEqualizerSetPreamp(global::System.IntPtr p_equalizer, float f_preamp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_get_preamp")] | |
internal static extern float LibvlcAudioEqualizerGetPreamp(global::System.IntPtr p_equalizer); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_set_amp_at_index")] | |
internal static extern int LibvlcAudioEqualizerSetAmpAtIndex(global::System.IntPtr p_equalizer, float f_amp, uint u_band); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_equalizer_get_amp_at_index")] | |
internal static extern float LibvlcAudioEqualizerGetAmpAtIndex(global::System.IntPtr p_equalizer, uint u_band); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_equalizer")] | |
internal static extern int LibvlcMediaPlayerSetEqualizer(global::System.IntPtr p_mi, global::System.IntPtr p_equalizer); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_role")] | |
internal static extern int LibvlcMediaPlayerGetRole(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_role")] | |
internal static extern int LibvlcMediaPlayerSetRole(global::System.IntPtr p_mi, uint role); | |
} | |
/// <summary>Create an empty Media Player object</summary> | |
/// <param name="p_libvlc_instance"> | |
/// <para>the libvlc instance in which the Media Player</para> | |
/// <para>should be created.</para> | |
/// </param> | |
/// <returns>a new media player object, or NULL on error.</returns> | |
public static global::libvlcpp.LibvlcMediaPlayerT LibvlcMediaPlayerNew(global::libvlcpp.LibvlcInstanceT p_libvlc_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_libvlc_instance, null) ? global::System.IntPtr.Zero : p_libvlc_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerNew(__arg0); | |
global::libvlcpp.LibvlcMediaPlayerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaPlayerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaPlayerT) global::libvlcpp.LibvlcMediaPlayerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaPlayerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Create a Media Player object from a Media</summary> | |
/// <param name="p_md"> | |
/// <para>the media. Afterwards the p_md can be safely</para> | |
/// <para>destroyed.</para> | |
/// </param> | |
/// <returns>a new media player object, or NULL on error.</returns> | |
public static global::libvlcpp.LibvlcMediaPlayerT LibvlcMediaPlayerNewFromMedia(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerNewFromMedia(__arg0); | |
global::libvlcpp.LibvlcMediaPlayerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaPlayerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaPlayerT) global::libvlcpp.LibvlcMediaPlayerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaPlayerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Release a media_player after use</para> | |
/// <para>Decrement the reference count of a media player object. If the</para> | |
/// <para>reference count is 0, then libvlc_media_player_release() will</para> | |
/// <para>release the media player object. If the media player object</para> | |
/// <para>has been released, then it should not be used again.</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player to free</param> | |
public static void LibvlcMediaPlayerRelease(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerRelease(__arg0); | |
} | |
/// <summary> | |
/// <para>Retain a reference to a media player object. Use</para> | |
/// <para>libvlc_media_player_release() to decrement reference count.</para> | |
/// </summary> | |
/// <param name="p_mi">media player object</param> | |
public static void LibvlcMediaPlayerRetain(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerRetain(__arg0); | |
} | |
/// <summary> | |
/// <para>Set the media that will be used by the media_player. If any,</para> | |
/// <para>previous md will be released.</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="p_md"> | |
/// <para>the Media. Afterwards the p_md can be safely</para> | |
/// <para>destroyed.</para> | |
/// </param> | |
public static void LibvlcMediaPlayerSetMedia(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __arg1 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaPlayerSetMedia(__arg0, __arg1); | |
} | |
/// <summary>Get the media used by the media_player.</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns> | |
/// <para>the media associated with p_mi, or NULL if no</para> | |
/// <para>media is associated</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaPlayerGetMedia(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetMedia(__arg0); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get the Event Manager from which the media player send event.</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>the event manager associated with p_mi</returns> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcMediaPlayerEventManager(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>is_playing</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>1 if the media player is playing, 0 otherwise</returns> | |
public static int LibvlcMediaPlayerIsPlaying(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerIsPlaying(__arg0); | |
return __ret; | |
} | |
/// <summary>Play</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>0 if playback started (and was already started), or -1 on error.</returns> | |
public static int LibvlcMediaPlayerPlay(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerPlay(__arg0); | |
return __ret; | |
} | |
/// <summary>Pause or resume (no effect if there is no media)</summary> | |
/// <param name="mp">the Media Player</param> | |
/// <param name="do_pause">play/resume if zero, pause if non-zero</param> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public static void LibvlcMediaPlayerSetPause(global::libvlcpp.LibvlcMediaPlayerT mp, int do_pause) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
__Internal.LibvlcMediaPlayerSetPause(__arg0, do_pause); | |
} | |
/// <summary>Toggle pause (no effect if there is no media)</summary> | |
/// <param name="p_mi">the Media Player</param> | |
public static void LibvlcMediaPlayerPause(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerPause(__arg0); | |
} | |
/// <summary>Stop (no effect if there is no media)</summary> | |
/// <param name="p_mi">the Media Player</param> | |
public static void LibvlcMediaPlayerStop(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerStop(__arg0); | |
} | |
/// <summary>Set a renderer to the media player</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="p_item">an item discovered by libvlc_renderer_discoverer_start()</param> | |
/// <returns>0 on success, -1 on error.</returns> | |
/// <remarks> | |
/// <para>must be called before the first call of libvlc_media_player_play() to</para> | |
/// <para>take effect.</para> | |
/// <para>libvlc_renderer_discoverer_new</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static int LibvlcMediaPlayerSetRenderer(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcRendererItemT p_item) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __arg1 = ReferenceEquals(p_item, null) ? global::System.IntPtr.Zero : p_item.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerSetRenderer(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set callbacks and private data to render decoded video to a custom area</para> | |
/// <para>in memory.</para> | |
/// <para>Use libvlc_video_set_format() or libvlc_video_set_format_callbacks()</para> | |
/// <para>to configure the decoded format.</para> | |
/// </summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="lock">callback to lock video memory (must not be NULL)</param> | |
/// <param name="unlock">callback to unlock video memory (or NULL if not needed)</param> | |
/// <param name="display">callback to display video (or NULL if not needed)</param> | |
/// <param name="opaque">private pointer for the three callbacks (as first parameter)</param> | |
/// <remarks> | |
/// <para>Rendering video into custom memory buffers is considerably less</para> | |
/// <para>efficient than rendering in a custom window as normal.</para> | |
/// <para>For optimal perfomances, VLC media player renders into a custom window, and</para> | |
/// <para>does not use this function and associated callbacks. It ishighly</para> | |
/// <para>recommendedthat other LibVLC-based application do likewise.</para> | |
/// <para>To embed video in a window, use libvlc_media_player_set_xid() or equivalent</para> | |
/// <para>depending on the operating system.</para> | |
/// <para>If window embedding does not fit the application use case, then a custom</para> | |
/// <para>LibVLC video output display plugin is required to maintain optimal video</para> | |
/// <para>rendering performances.</para> | |
/// <para>The following limitations affect performance:</para> | |
/// <para>- Hardware video decoding acceleration will either be disabled completely,</para> | |
/// <para>or require (relatively slow) copy from video/DSP memory to main memory.</para> | |
/// <para>- Sub-pictures (subtitles, on-screen display, etc.) must be blent into the</para> | |
/// <para>main picture by the CPU instead of the GPU.</para> | |
/// <para>- Depending on the video format, pixel format conversion, picture scaling,</para> | |
/// <para>cropping and/or picture re-orientation, must be performed by the CPU</para> | |
/// <para>instead of the GPU.</para> | |
/// <para>- Memory copying is required between LibVLC reference picture buffers and</para> | |
/// <para>application buffers (between lock and unlock callbacks).</para> | |
/// <para>LibVLC 1.1.1 or later</para> | |
/// </remarks> | |
public static void LibvlcVideoSetCallbacks(global::libvlcpp.LibvlcMediaPlayerT mp, global::libvlcpp.LibvlcVideoLockCb @lock, global::libvlcpp.LibvlcVideoUnlockCb unlock, global::libvlcpp.LibvlcVideoDisplayCb display, global::System.IntPtr opaque) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __arg1 = @lock == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(@lock); | |
var __arg2 = unlock == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(unlock); | |
var __arg3 = display == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(display); | |
__Internal.LibvlcVideoSetCallbacks(__arg0, __arg1, __arg2, __arg3, opaque); | |
} | |
/// <summary> | |
/// <para>Set decoded video chroma and dimensions.</para> | |
/// <para>This only works in combination with libvlc_video_set_callbacks(),</para> | |
/// <para>and is mutually exclusive with libvlc_video_set_format_callbacks().</para> | |
/// </summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="chroma"> | |
/// <para>a four-characters string identifying the chroma</para> | |
/// <para>(e.g. "RV32" or "YUYV")</para> | |
/// </param> | |
/// <param name="width">pixel width</param> | |
/// <param name="height">pixel height</param> | |
/// <param name="pitch">line pitch (in bytes)</param> | |
/// <remarks> | |
/// <para>LibVLC 1.1.1 or later</para> | |
/// <para>All pixel planes are expected to have the same pitch.</para> | |
/// <para>To use the YCbCr color space with chrominance subsampling,</para> | |
/// <para>consider using libvlc_video_set_format_callbacks() instead.</para> | |
/// </remarks> | |
public static void LibvlcVideoSetFormat(global::libvlcpp.LibvlcMediaPlayerT mp, string chroma, uint width, uint height, uint pitch) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
__Internal.LibvlcVideoSetFormat(__arg0, chroma, width, height, pitch); | |
} | |
/// <summary> | |
/// <para>Set decoded video chroma and dimensions. This only works in combination with</para> | |
/// <para>libvlc_video_set_callbacks().</para> | |
/// </summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="setup">callback to select the video format (cannot be NULL)</param> | |
/// <param name="cleanup">callback to release any allocated resources (or NULL)</param> | |
/// <remarks>LibVLC 2.0.0 or later</remarks> | |
public static void LibvlcVideoSetFormatCallbacks(global::libvlcpp.LibvlcMediaPlayerT mp, global::libvlcpp.LibvlcVideoFormatCb setup, global::libvlcpp.LibvlcVideoCleanupCb cleanup) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __arg1 = setup == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(setup); | |
var __arg2 = cleanup == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(cleanup); | |
__Internal.LibvlcVideoSetFormatCallbacks(__arg0, __arg1, __arg2); | |
} | |
/// <summary>Set the NSView handler where the media player should render its video output.</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="drawable"> | |
/// <para>the drawable that is either an NSView or an object following</para> | |
/// <para>the VLCOpenGLVideoViewEmbedding protocol.</para> | |
/// </param> | |
/// <remarks> | |
/// <para>Use the vout called "macosx".</para> | |
/// <para>The drawable is an NSObject that follow the VLCOpenGLVideoViewEmbedding</para> | |
/// <para>protocol:</para> | |
/// <para>Or it can be an NSView object.</para> | |
/// <para>If you want to use it along with Qt see the QMacCocoaViewContainer. Then</para> | |
/// <para>the following code should work:</para> | |
/// <para>You can find a live example in VLCVideoView in VLCKit.framework.</para> | |
/// </remarks> | |
public static void LibvlcMediaPlayerSetNsobject(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::System.IntPtr drawable) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetNsobject(__arg0, drawable); | |
} | |
/// <summary>Get the NSView handler previously set with libvlc_media_player_set_nsobject().</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>the NSView handler or 0 if none where set</returns> | |
public static global::System.IntPtr LibvlcMediaPlayerGetNsobject(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetNsobject(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set an X Window System drawable where the media player should render its</para> | |
/// <para>video output. The call takes effect when the playback starts. If it is</para> | |
/// <para>already started, it might need to be stopped before changes apply.</para> | |
/// <para>If LibVLC was built without X11 output support, then this function has no</para> | |
/// <para>effects.</para> | |
/// </summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="drawable">X11 window ID</param> | |
/// <remarks> | |
/// <para>By default, LibVLC will capture input events on the video rendering area.</para> | |
/// <para>Use libvlc_video_set_mouse_input() and libvlc_video_set_key_input() to</para> | |
/// <para>disable that and deliver events to the parent window / to the application</para> | |
/// <para>instead. By design, the X11 protocol delivers input events to only one</para> | |
/// <para>recipient.</para> | |
/// <para>The application must call the XInitThreads() function from Xlib before</para> | |
/// <para>libvlc_new(), and before any call to XOpenDisplay() directly or via any</para> | |
/// <para>other library. Failure to call XInitThreads() will seriously impede LibVLC</para> | |
/// <para>performance. Calling XOpenDisplay() before XInitThreads() will eventually</para> | |
/// <para>crash the process. That is a limitation of Xlib.</para> | |
/// <para>The specified identifier must correspond to an existing Input/Output class</para> | |
/// <para>X11 window. Pixmaps arenotcurrently supported. The default X11</para> | |
/// <para>server is assumed, i.e. that specified in the DISPLAY environment variable.</para> | |
/// <para>LibVLC can deal with invalid X11 handle errors, however some display drivers</para> | |
/// <para>(EGL, GLX, VA and/or VDPAU) can unfortunately not. Thus the window handle</para> | |
/// <para>must remain valid until playback is stopped, otherwise the process may</para> | |
/// <para>abort or crash.</para> | |
/// <para>No more than one window handle per media player instance can be specified.</para> | |
/// <para>If the media has multiple simultaneously active video tracks, extra tracks</para> | |
/// <para>will be rendered into external windows beyond the control of the</para> | |
/// <para>application.</para> | |
/// </remarks> | |
public static void LibvlcMediaPlayerSetXwindow(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint drawable) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetXwindow(__arg0, drawable); | |
} | |
/// <summary> | |
/// <para>Get the X Window System window identifier previously set with</para> | |
/// <para>libvlc_media_player_set_xwindow(). Note that this will return the identifier</para> | |
/// <para>even if VLC is not currently using it (for instance if it is playing an</para> | |
/// <para>audio-only input).</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>an X window ID, or 0 if none where set.</returns> | |
public static uint LibvlcMediaPlayerGetXwindow(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetXwindow(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set a Win32/Win64 API window handle (HWND) where the media player should</para> | |
/// <para>render its video output. If LibVLC was built without Win32/Win64 API output</para> | |
/// <para>support, then this has no effects.</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="drawable">windows handle of the drawable</param> | |
public static void LibvlcMediaPlayerSetHwnd(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::System.IntPtr drawable) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetHwnd(__arg0, drawable); | |
} | |
/// <summary> | |
/// <para>Get the Windows API window handle (HWND) previously set with</para> | |
/// <para>libvlc_media_player_set_hwnd(). The handle will be returned even if LibVLC</para> | |
/// <para>is not currently outputting any video to it.</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>a window handle or NULL if there are none.</returns> | |
public static global::System.IntPtr LibvlcMediaPlayerGetHwnd(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetHwnd(__arg0); | |
return __ret; | |
} | |
/// <summary>Set the android context.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="p_awindow_handler"> | |
/// <para>org.videolan.libvlc.AWindow jobject owned by the</para> | |
/// <para>org.videolan.libvlc.MediaPlayer class from the libvlc-android project.</para> | |
/// </param> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static void LibvlcMediaPlayerSetAndroidContext(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::System.IntPtr p_awindow_handler) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetAndroidContext(__arg0, p_awindow_handler); | |
} | |
/// <summary>Set the EFL Evas Object.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="p_evas_object">a valid EFL Evas Object (Evas_Object)</param> | |
/// <returns>-1 if an error was detected, 0 otherwise.</returns> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static int LibvlcMediaPlayerSetEvasObject(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::System.IntPtr p_evas_object) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerSetEvasObject(__arg0, p_evas_object); | |
return __ret; | |
} | |
/// <summary>Sets callbacks and private data for decoded audio.</summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="play">callback to play audio samples (must not be NULL)</param> | |
/// <param name="pause">callback to pause playback (or NULL to ignore)</param> | |
/// <param name="resume">callback to resume playback (or NULL to ignore)</param> | |
/// <param name="flush">callback to flush audio buffers (or NULL to ignore)</param> | |
/// <param name="drain">callback to drain audio buffers (or NULL to ignore)</param> | |
/// <param name="opaque">private pointer for the audio callbacks (as first parameter)</param> | |
/// <remarks> | |
/// <para>Use libvlc_audio_set_format() or libvlc_audio_set_format_callbacks()</para> | |
/// <para>to configure the decoded audio format.</para> | |
/// <para>The audio callbacks override any other audio output mechanism.</para> | |
/// <para>If the callbacks are set, LibVLC willnotoutput audio in any way.</para> | |
/// <para>LibVLC 2.0.0 or later</para> | |
/// </remarks> | |
public static void LibvlcAudioSetCallbacks(global::libvlcpp.LibvlcMediaPlayerT mp, global::libvlcpp.LibvlcAudioPlayCb play, global::libvlcpp.LibvlcAudioPauseCb pause, global::libvlcpp.LibvlcAudioResumeCb resume, global::libvlcpp.LibvlcAudioFlushCb flush, global::libvlcpp.LibvlcAudioDrainCb drain, global::System.IntPtr opaque) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __arg1 = play == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(play); | |
var __arg2 = pause == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(pause); | |
var __arg3 = resume == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(resume); | |
var __arg4 = flush == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(flush); | |
var __arg5 = drain == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(drain); | |
__Internal.LibvlcAudioSetCallbacks(__arg0, __arg1, __arg2, __arg3, __arg4, __arg5, opaque); | |
} | |
/// <summary> | |
/// <para>Set callbacks and private data for decoded audio. This only works in</para> | |
/// <para>combination with libvlc_audio_set_callbacks().</para> | |
/// <para>Use libvlc_audio_set_format() or libvlc_audio_set_format_callbacks()</para> | |
/// <para>to configure the decoded audio format.</para> | |
/// </summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="set_volume"> | |
/// <para>callback to apply audio volume,</para> | |
/// <para>or NULL to apply volume in software</para> | |
/// </param> | |
/// <remarks>LibVLC 2.0.0 or later</remarks> | |
public static void LibvlcAudioSetVolumeCallback(global::libvlcpp.LibvlcMediaPlayerT mp, global::libvlcpp.LibvlcAudioSetVolumeCb set_volume) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __arg1 = set_volume == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(set_volume); | |
__Internal.LibvlcAudioSetVolumeCallback(__arg0, __arg1); | |
} | |
/// <summary>Sets decoded audio format via callbacks.</summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="setup">callback to select the audio format (cannot be NULL)</param> | |
/// <param name="cleanup">callback to release any allocated resources (or NULL)</param> | |
/// <remarks> | |
/// <para>This only works in combination with libvlc_audio_set_callbacks().</para> | |
/// <para>LibVLC 2.0.0 or later</para> | |
/// </remarks> | |
public static void LibvlcAudioSetFormatCallbacks(global::libvlcpp.LibvlcMediaPlayerT mp, global::libvlcpp.LibvlcAudioSetupCb setup, global::libvlcpp.LibvlcAudioCleanupCb cleanup) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __arg1 = setup == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(setup); | |
var __arg2 = cleanup == null ? global::System.IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(cleanup); | |
__Internal.LibvlcAudioSetFormatCallbacks(__arg0, __arg1, __arg2); | |
} | |
/// <summary>Sets a fixed decoded audio format.</summary> | |
/// <param name="mp">the media player</param> | |
/// <param name="format"> | |
/// <para>a four-characters string identifying the sample format</para> | |
/// <para>(e.g. "S16N" or "FL32")</para> | |
/// </param> | |
/// <param name="rate">sample rate (expressed in Hz)</param> | |
/// <param name="channels">channels count</param> | |
/// <remarks> | |
/// <para>This only works in combination with libvlc_audio_set_callbacks(),</para> | |
/// <para>and is mutually exclusive with libvlc_audio_set_format_callbacks().</para> | |
/// <para>LibVLC 2.0.0 or later</para> | |
/// </remarks> | |
public static void LibvlcAudioSetFormat(global::libvlcpp.LibvlcMediaPlayerT mp, string format, uint rate, uint channels) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
__Internal.LibvlcAudioSetFormat(__arg0, format, rate, channels); | |
} | |
/// <summary>Get the current movie length (in ms).</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>the movie length (in ms), or -1 if there is no media.</returns> | |
public static long LibvlcMediaPlayerGetLength(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetLength(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the current movie time (in ms).</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>the movie time (in ms), or -1 if there is no media.</returns> | |
public static long LibvlcMediaPlayerGetTime(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetTime(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set the movie time (in ms). This has no effect if no media is being played.</para> | |
/// <para>Not all formats and protocols support this.</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="i_time">the movie time (in ms).</param> | |
public static void LibvlcMediaPlayerSetTime(global::libvlcpp.LibvlcMediaPlayerT p_mi, long i_time) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetTime(__arg0, i_time); | |
} | |
/// <summary>Get movie position as percentage between 0.0 and 1.0.</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>movie position, or -1. in case of error</returns> | |
public static float LibvlcMediaPlayerGetPosition(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetPosition(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set movie position as percentage between 0.0 and 1.0.</para> | |
/// <para>This has no effect if playback is not enabled.</para> | |
/// <para>This might not work depending on the underlying input format and protocol.</para> | |
/// </summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="f_pos">the position</param> | |
public static void LibvlcMediaPlayerSetPosition(global::libvlcpp.LibvlcMediaPlayerT p_mi, float f_pos) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetPosition(__arg0, f_pos); | |
} | |
/// <summary>Set movie chapter (if applicable).</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="i_chapter">chapter number to play</param> | |
public static void LibvlcMediaPlayerSetChapter(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_chapter) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetChapter(__arg0, i_chapter); | |
} | |
/// <summary>Get movie chapter.</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>chapter number currently playing, or -1 if there is no media.</returns> | |
public static int LibvlcMediaPlayerGetChapter(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetChapter(__arg0); | |
return __ret; | |
} | |
/// <summary>Get movie chapter count</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>number of chapters in movie, or -1.</returns> | |
public static int LibvlcMediaPlayerGetChapterCount(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetChapterCount(__arg0); | |
return __ret; | |
} | |
/// <summary>Is the player able to play</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>boolean</returns> | |
public static int LibvlcMediaPlayerWillPlay(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerWillPlay(__arg0); | |
return __ret; | |
} | |
/// <summary>Get title chapter count</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="i_title">title</param> | |
/// <returns>number of chapters in title, or -1</returns> | |
public static int LibvlcMediaPlayerGetChapterCountForTitle(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_title) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetChapterCountForTitle(__arg0, i_title); | |
return __ret; | |
} | |
/// <summary>Set movie title</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="i_title">title number to play</param> | |
public static void LibvlcMediaPlayerSetTitle(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_title) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetTitle(__arg0, i_title); | |
} | |
/// <summary>Get movie title</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>title number currently playing, or -1</returns> | |
public static int LibvlcMediaPlayerGetTitle(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetTitle(__arg0); | |
return __ret; | |
} | |
/// <summary>Get movie title count</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>title number count, or -1</returns> | |
public static int LibvlcMediaPlayerGetTitleCount(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetTitleCount(__arg0); | |
return __ret; | |
} | |
/// <summary>Set previous chapter (if applicable)</summary> | |
/// <param name="p_mi">the Media Player</param> | |
public static void LibvlcMediaPlayerPreviousChapter(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerPreviousChapter(__arg0); | |
} | |
/// <summary>Set next chapter (if applicable)</summary> | |
/// <param name="p_mi">the Media Player</param> | |
public static void LibvlcMediaPlayerNextChapter(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerNextChapter(__arg0); | |
} | |
/// <summary>Get the requested movie play rate.</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>movie play rate</returns> | |
/// <remarks> | |
/// <para>Depending on the underlying media, the requested rate may be</para> | |
/// <para>different from the real playback rate.</para> | |
/// </remarks> | |
public static float LibvlcMediaPlayerGetRate(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetRate(__arg0); | |
return __ret; | |
} | |
/// <summary>Set movie play rate</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="rate">movie play rate to set</param> | |
/// <returns> | |
/// <para>-1 if an error was detected, 0 otherwise (but even then, it might</para> | |
/// <para>not actually work depending on the underlying media protocol)</para> | |
/// </returns> | |
public static int LibvlcMediaPlayerSetRate(global::libvlcpp.LibvlcMediaPlayerT p_mi, float rate) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerSetRate(__arg0, rate); | |
return __ret; | |
} | |
/// <summary>Get current movie state</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>the current state of the media player (playing, paused, ...)</returns> | |
/// <remarks>libvlc_state_t</remarks> | |
public static global::libvlcpp.LibvlcStateT LibvlcMediaPlayerGetState(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetState(__arg0); | |
return __ret; | |
} | |
/// <summary>How many video outputs does this media player have?</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the number of video outputs</returns> | |
public static uint LibvlcMediaPlayerHasVout(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerHasVout(__arg0); | |
return __ret; | |
} | |
/// <summary>Is this media player seekable?</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>true if the media player can seek</returns> | |
public static int LibvlcMediaPlayerIsSeekable(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerIsSeekable(__arg0); | |
return __ret; | |
} | |
/// <summary>Can this media player be paused?</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>true if the media player can pause</returns> | |
public static int LibvlcMediaPlayerCanPause(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerCanPause(__arg0); | |
return __ret; | |
} | |
/// <summary>Check if the current program is scrambled</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>true if the current program is scrambled</returns> | |
/// <remarks>LibVLC 2.2.0 or later</remarks> | |
public static int LibvlcMediaPlayerProgramScrambled(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerProgramScrambled(__arg0); | |
return __ret; | |
} | |
/// <summary>Display the next frame (if supported)</summary> | |
/// <param name="p_mi">the media player</param> | |
public static void LibvlcMediaPlayerNextFrame(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerNextFrame(__arg0); | |
} | |
/// <summary>Navigate through DVD Menu</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <param name="navigate">the Navigation mode</param> | |
/// <remarks>libVLC 2.0.0 or later</remarks> | |
public static void LibvlcMediaPlayerNavigate(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint navigate) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerNavigate(__arg0, navigate); | |
} | |
/// <summary>Set if, and how, the video title will be shown when media is played.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="position">position at which to display the title, or libvlc_position_disable to prevent the title from being displayed</param> | |
/// <param name="timeout">title display timeout in milliseconds (ignored if libvlc_position_disable)</param> | |
/// <remarks>libVLC 2.1.0 or later</remarks> | |
public static void LibvlcMediaPlayerSetVideoTitleDisplay(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcPositionT position, uint timeout) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetVideoTitleDisplay(__arg0, position, timeout); | |
} | |
/// <summary>Add a slave to the current media player.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="i_type">subtitle or audio</param> | |
/// <param name="psz_uri">Uri of the slave (should contain a valid scheme).</param> | |
/// <param name="b_select">True if this slave should be selected when it's loaded</param> | |
/// <returns>0 on success, -1 on error.</returns> | |
/// <remarks> | |
/// <para>If the player is playing, the slave will be added directly. This call</para> | |
/// <para>will also update the slave list of the attached libvlc_media_t.</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>libvlc_media_slaves_add</para> | |
/// </remarks> | |
public static int LibvlcMediaPlayerAddSlave(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcMediaSlaveTypeT i_type, string psz_uri, bool b_select) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerAddSlave(__arg0, i_type, psz_uri, b_select); | |
return __ret; | |
} | |
/// <summary>Release (free) libvlc_track_description_t</summary> | |
/// <param name="p_track_description">the structure to release</param> | |
public static void LibvlcTrackDescriptionListRelease(global::libvlcpp.LibvlcTrackDescriptionT p_track_description) | |
{ | |
var __arg0 = ReferenceEquals(p_track_description, null) ? global::System.IntPtr.Zero : p_track_description.__Instance; | |
__Internal.LibvlcTrackDescriptionListRelease(__arg0); | |
} | |
/// <summary>Toggle fullscreen status on non-embedded video outputs.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <remarks> | |
/// <para>The same limitations applies to this function</para> | |
/// <para>as to libvlc_set_fullscreen().</para> | |
/// </remarks> | |
public static void LibvlcToggleFullscreen(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcToggleFullscreen(__arg0); | |
} | |
/// <summary>Enable or disable fullscreen.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="b_fullscreen">boolean for fullscreen status</param> | |
/// <remarks> | |
/// <para>With most window managers, only a top-level windows can be in</para> | |
/// <para>full-screen mode. Hence, this function will not operate properly if</para> | |
/// <para>libvlc_media_player_set_xwindow() was used to embed the video in a</para> | |
/// <para>non-top-level window. In that case, the embedding window must be reparented</para> | |
/// <para>to the root windowbeforefullscreen mode is enabled. You will want</para> | |
/// <para>to reparent it back to its normal parent when disabling fullscreen.</para> | |
/// </remarks> | |
public static void LibvlcSetFullscreen(global::libvlcpp.LibvlcMediaPlayerT p_mi, int b_fullscreen) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcSetFullscreen(__arg0, b_fullscreen); | |
} | |
/// <summary>Get current fullscreen status.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the fullscreen status (boolean)</returns> | |
public static int LibvlcGetFullscreen(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcGetFullscreen(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Enable or disable key press events handling, according to the LibVLC hotkeys</para> | |
/// <para>configuration. By default and for historical reasons, keyboard events are</para> | |
/// <para>handled by the LibVLC video widget.</para> | |
/// </summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="on">true to handle key press events, false to ignore them.</param> | |
/// <remarks> | |
/// <para>On X11, there can be only one subscriber for key press and mouse</para> | |
/// <para>click events per window. If your application has subscribed to those events</para> | |
/// <para>for the X window ID of the video widget, then LibVLC will not be able to</para> | |
/// <para>handle key presses and mouse clicks in any case.</para> | |
/// <para>This function is only implemented for X11 and Win32 at the moment.</para> | |
/// </remarks> | |
public static void LibvlcVideoSetKeyInput(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint on) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetKeyInput(__arg0, on); | |
} | |
/// <summary> | |
/// <para>Enable or disable mouse click events handling. By default, those events are</para> | |
/// <para>handled. This is needed for DVD menus to work, as well as a few video</para> | |
/// <para>filters such as "puzzle".</para> | |
/// </summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="on">true to handle mouse click events, false to ignore them.</param> | |
/// <remarks> | |
/// <para>libvlc_video_set_key_input().</para> | |
/// <para>This function is only implemented for X11 and Win32 at the moment.</para> | |
/// </remarks> | |
public static void LibvlcVideoSetMouseInput(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint on) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetMouseInput(__arg0, on); | |
} | |
/// <summary>Get the pixel dimensions of a video.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="num">number of the video (starting from, and most commonly 0)</param> | |
/// <param name="px">pointer to get the pixel width [OUT]</param> | |
/// <param name="py">pointer to get the pixel height [OUT]</param> | |
/// <returns>0 on success, -1 if the specified video does not exist</returns> | |
public static int LibvlcVideoGetSize(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint num, ref uint px, ref uint py) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
fixed (uint* __refParamPtr2 = &px) | |
{ | |
var __arg2 = __refParamPtr2; | |
fixed (uint* __refParamPtr3 = &py) | |
{ | |
var __arg3 = __refParamPtr3; | |
var __ret = __Internal.LibvlcVideoGetSize(__arg0, num, __arg2, __arg3); | |
return __ret; | |
} | |
} | |
} | |
/// <summary> | |
/// <para>Get the mouse pointer coordinates over a video.</para> | |
/// <para>Coordinates are expressed in terms of the decoded video resolution,</para> | |
/// <para>notin terms of pixels on the screen/viewport (to get the latter,</para> | |
/// <para>you can query your windowing system directly).</para> | |
/// </summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="num">number of the video (starting from, and most commonly 0)</param> | |
/// <param name="px">pointer to get the abscissa [OUT]</param> | |
/// <param name="py">pointer to get the ordinate [OUT]</param> | |
/// <returns>0 on success, -1 if the specified video does not exist</returns> | |
/// <remarks> | |
/// <para>Either of the coordinates may be negative or larger than the corresponding</para> | |
/// <para>dimension of the video, if the cursor is outside the rendering area.</para> | |
/// <para>The coordinates may be out-of-date if the pointer is not located</para> | |
/// <para>on the video rendering area. LibVLC does not track the pointer if it is</para> | |
/// <para>outside of the video widget.</para> | |
/// <para>LibVLC does not support multiple pointers (it does of course support</para> | |
/// <para>multiple input devices sharing the same pointer) at the moment.</para> | |
/// </remarks> | |
public static int LibvlcVideoGetCursor(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint num, ref int px, ref int py) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
fixed (int* __refParamPtr2 = &px) | |
{ | |
var __arg2 = __refParamPtr2; | |
fixed (int* __refParamPtr3 = &py) | |
{ | |
var __arg3 = __refParamPtr3; | |
var __ret = __Internal.LibvlcVideoGetCursor(__arg0, num, __arg2, __arg3); | |
return __ret; | |
} | |
} | |
} | |
/// <summary> | |
/// <para>Get the current video scaling factor.</para> | |
/// <para>See also libvlc_video_set_scale().</para> | |
/// </summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns> | |
/// <para>the currently configured zoom factor, or 0. if the video is set</para> | |
/// <para>to fit to the output window/drawable automatically.</para> | |
/// </returns> | |
public static float LibvlcVideoGetScale(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetScale(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set the video scaling factor. That is the ratio of the number of pixels on</para> | |
/// <para>screen to the number of pixels in the original decoded video in each</para> | |
/// <para>dimension. Zero is a special value; it will adjust the video to the output</para> | |
/// <para>window/drawable (in windowed mode) or the entire screen.</para> | |
/// </summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="f_factor">the scaling factor, or zero</param> | |
/// <remarks>Note that not all video outputs support scaling.</remarks> | |
public static void LibvlcVideoSetScale(global::libvlcpp.LibvlcMediaPlayerT p_mi, float f_factor) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetScale(__arg0, f_factor); | |
} | |
/// <summary>Get current video aspect ratio.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns> | |
/// <para>the video aspect ratio or NULL if unspecified</para> | |
/// <para>(the result must be released with free() or libvlc_free()).</para> | |
/// </returns> | |
public static sbyte* LibvlcVideoGetAspectRatio(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetAspectRatio(__arg0); | |
return __ret; | |
} | |
/// <summary>Set new video aspect ratio.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="psz_aspect">new video aspect-ratio or NULL to reset to default</param> | |
/// <remarks>Invalid aspect ratios are ignored.</remarks> | |
public static void LibvlcVideoSetAspectRatio(global::libvlcpp.LibvlcMediaPlayerT p_mi, string psz_aspect) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetAspectRatio(__arg0, psz_aspect); | |
} | |
/// <summary>Create a video viewpoint structure.</summary> | |
/// <returns> | |
/// <para>video viewpoint or NULL</para> | |
/// <para>(the result must be released with free() or libvlc_free()).</para> | |
/// </returns> | |
/// <remarks>LibVLC 3.0.0 and later</remarks> | |
public static global::libvlcpp.LibvlcVideoViewpointT LibvlcVideoNewViewpoint() | |
{ | |
var __ret = __Internal.LibvlcVideoNewViewpoint(); | |
global::libvlcpp.LibvlcVideoViewpointT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcVideoViewpointT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcVideoViewpointT) global::libvlcpp.LibvlcVideoViewpointT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcVideoViewpointT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Update the video viewpoint information.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="p_viewpoint">video viewpoint allocated via libvlc_video_new_viewpoint()</param> | |
/// <param name="b_absolute"> | |
/// <para>if true replace the old viewpoint with the new one. If</para> | |
/// <para>false, increase/decrease it.</para> | |
/// </param> | |
/// <returns>-1 in case of error, 0 otherwise</returns> | |
/// <remarks> | |
/// <para>It is safe to call this function before the media player is started.</para> | |
/// <para>LibVLC 3.0.0 and later</para> | |
/// <para>the values are set asynchronously, it will be used by the next frame displayed.</para> | |
/// </remarks> | |
public static int LibvlcVideoUpdateViewpoint(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcVideoViewpointT p_viewpoint, bool b_absolute) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __arg1 = ReferenceEquals(p_viewpoint, null) ? global::System.IntPtr.Zero : p_viewpoint.__Instance; | |
var __ret = __Internal.LibvlcVideoUpdateViewpoint(__arg0, __arg1, b_absolute); | |
return __ret; | |
} | |
/// <summary>Get current video subtitle.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the video subtitle selected, or -1 if none</returns> | |
public static int LibvlcVideoGetSpu(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetSpu(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the number of available video subtitles.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the number of available video subtitles</returns> | |
public static int LibvlcVideoGetSpuCount(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetSpuCount(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the description of available video subtitles.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns> | |
/// <para>list containing description of available video subtitles.</para> | |
/// <para>It must be freed with libvlc_track_description_list_release()</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcTrackDescriptionT LibvlcVideoGetSpuDescription(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetSpuDescription(__arg0); | |
global::libvlcpp.LibvlcTrackDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcTrackDescriptionT) global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcTrackDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Set new video subtitle.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="i_spu">video subtitle track to select (i_id from track description)</param> | |
/// <returns>0 on success, -1 if out of range</returns> | |
public static int LibvlcVideoSetSpu(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_spu) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoSetSpu(__arg0, i_spu); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Get the current subtitle delay. Positive values means subtitles are being</para> | |
/// <para>displayed later, negative values earlier.</para> | |
/// </summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>time (in microseconds) the display of subtitles is being delayed</returns> | |
/// <remarks>LibVLC 2.0.0 or later</remarks> | |
public static long LibvlcVideoGetSpuDelay(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetSpuDelay(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set the subtitle delay. This affects the timing of when the subtitle will</para> | |
/// <para>be displayed. Positive values result in subtitles being displayed later,</para> | |
/// <para>while negative values will result in subtitles being displayed earlier.</para> | |
/// </summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="i_delay">time (in microseconds) the display of subtitles should be delayed</param> | |
/// <returns>0 on success, -1 on error</returns> | |
/// <remarks> | |
/// <para>The subtitle delay will be reset to zero each time the media changes.</para> | |
/// <para>LibVLC 2.0.0 or later</para> | |
/// </remarks> | |
public static int LibvlcVideoSetSpuDelay(global::libvlcpp.LibvlcMediaPlayerT p_mi, long i_delay) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoSetSpuDelay(__arg0, i_delay); | |
return __ret; | |
} | |
/// <summary>Get the full description of available titles</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="titles"> | |
/// <para>address to store an allocated array of title descriptions</para> | |
/// <para>descriptions (must be freed with libvlc_title_descriptions_release()</para> | |
/// <para>by the caller) [OUT]</para> | |
/// </param> | |
/// <returns>the number of titles (-1 on error)</returns> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static int LibvlcMediaPlayerGetFullTitleDescriptions(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcTitleDescriptionT titles) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __arg1 = ReferenceEquals(titles, null) ? global::System.IntPtr.Zero : titles.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetFullTitleDescriptions(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>Release a title description</summary> | |
/// <param name="p_titles">title description array to release</param> | |
/// <param name="i_count">number of title descriptions to release</param> | |
/// <remarks>LibVLC 3.0.0 and later</remarks> | |
public static void LibvlcTitleDescriptionsRelease(global::libvlcpp.LibvlcTitleDescriptionT p_titles, uint i_count) | |
{ | |
var __arg0 = ReferenceEquals(p_titles, null) ? global::System.IntPtr.Zero : p_titles.__Instance; | |
__Internal.LibvlcTitleDescriptionsRelease(__arg0, i_count); | |
} | |
/// <summary>Get the full description of available chapters</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="i_chapters_of_title">index of the title to query for chapters (uses current title if set to -1)</param> | |
/// <param name="pp_chapters"> | |
/// <para>address to store an allocated array of chapter descriptions</para> | |
/// <para>descriptions (must be freed with libvlc_chapter_descriptions_release()</para> | |
/// <para>by the caller) [OUT]</para> | |
/// </param> | |
/// <returns>the number of chapters (-1 on error)</returns> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static int LibvlcMediaPlayerGetFullChapterDescriptions(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_chapters_of_title, global::libvlcpp.LibvlcChapterDescriptionT pp_chapters) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __arg2 = ReferenceEquals(pp_chapters, null) ? global::System.IntPtr.Zero : pp_chapters.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetFullChapterDescriptions(__arg0, i_chapters_of_title, __arg2); | |
return __ret; | |
} | |
/// <summary>Release a chapter description</summary> | |
/// <param name="p_chapters">chapter description array to release</param> | |
/// <param name="i_count">number of chapter descriptions to release</param> | |
/// <remarks>LibVLC 3.0.0 and later</remarks> | |
public static void LibvlcChapterDescriptionsRelease(global::libvlcpp.LibvlcChapterDescriptionT p_chapters, uint i_count) | |
{ | |
var __arg0 = ReferenceEquals(p_chapters, null) ? global::System.IntPtr.Zero : p_chapters.__Instance; | |
__Internal.LibvlcChapterDescriptionsRelease(__arg0, i_count); | |
} | |
/// <summary>Get current crop filter geometry.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the crop filter geometry or NULL if unset</returns> | |
public static sbyte* LibvlcVideoGetCropGeometry(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetCropGeometry(__arg0); | |
return __ret; | |
} | |
/// <summary>Set new crop filter geometry.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="psz_geometry">new crop filter geometry (NULL to unset)</param> | |
public static void LibvlcVideoSetCropGeometry(global::libvlcpp.LibvlcMediaPlayerT p_mi, string psz_geometry) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetCropGeometry(__arg0, psz_geometry); | |
} | |
/// <summary>Get current teletext page requested or 0 if it's disabled.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the current teletext page requested.</returns> | |
/// <remarks> | |
/// <para>Teletext is disabled by default, call libvlc_video_set_teletext() to enable</para> | |
/// <para>it.</para> | |
/// </remarks> | |
public static int LibvlcVideoGetTeletext(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetTeletext(__arg0); | |
return __ret; | |
} | |
/// <summary>Set new teletext page to retrieve.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="i_page"> | |
/// <para>teletex page number requested. This value can be 0 to disable</para> | |
/// <para>teletext, a number in the range ]0;1000[ to show the requested page, or a</para> | |
/// </param> | |
/// <remarks>This function can also be used to send a teletext key.</remarks> | |
public static void LibvlcVideoSetTeletext(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_page) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetTeletext(__arg0, i_page); | |
} | |
/// <summary>Get number of available video tracks.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the number of available video tracks (int)</returns> | |
public static int LibvlcVideoGetTrackCount(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetTrackCount(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the description of available video tracks.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns> | |
/// <para>list with description of available video tracks, or NULL on error.</para> | |
/// <para>It must be freed with libvlc_track_description_list_release()</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcTrackDescriptionT LibvlcVideoGetTrackDescription(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetTrackDescription(__arg0); | |
global::libvlcpp.LibvlcTrackDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcTrackDescriptionT) global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcTrackDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get current video track.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the video track ID (int) or -1 if no active input</returns> | |
public static int LibvlcVideoGetTrack(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetTrack(__arg0); | |
return __ret; | |
} | |
/// <summary>Set video track.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="i_track">the track ID (i_id field from track description)</param> | |
/// <returns>0 on success, -1 if out of range</returns> | |
public static int LibvlcVideoSetTrack(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_track) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoSetTrack(__arg0, i_track); | |
return __ret; | |
} | |
/// <summary>Take a snapshot of the current video window.</summary> | |
/// <param name="p_mi">media player instance</param> | |
/// <param name="num">number of video output (typically 0 for the first/only one)</param> | |
/// <param name="psz_filepath">the path of a file or a folder to save the screenshot into</param> | |
/// <param name="i_width">the snapshot's width</param> | |
/// <param name="i_height">the snapshot's height</param> | |
/// <returns>0 on success, -1 if the video was not found</returns> | |
/// <remarks> | |
/// <para>If i_width AND i_height is 0, original size is used.</para> | |
/// <para>If i_width XOR i_height is 0, original aspect-ratio is preserved.</para> | |
/// </remarks> | |
public static int LibvlcVideoTakeSnapshot(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint num, string psz_filepath, uint i_width, uint i_height) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoTakeSnapshot(__arg0, num, psz_filepath, i_width, i_height); | |
return __ret; | |
} | |
/// <summary>Enable or disable deinterlace filter</summary> | |
/// <param name="p_mi">libvlc media player</param> | |
/// <param name="psz_mode">type of deinterlace filter, NULL to disable</param> | |
public static void LibvlcVideoSetDeinterlace(global::libvlcpp.LibvlcMediaPlayerT p_mi, string psz_mode) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetDeinterlace(__arg0, psz_mode); | |
} | |
/// <summary>Get an integer marquee option value</summary> | |
/// <param name="p_mi">libvlc media player</param> | |
/// <param name="option">marq option to get</param> | |
/// <remarks>libvlc_video_marquee_int_option_t</remarks> | |
public static int LibvlcVideoGetMarqueeInt(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetMarqueeInt(__arg0, option); | |
return __ret; | |
} | |
/// <summary>Get a string marquee option value</summary> | |
/// <param name="p_mi">libvlc media player</param> | |
/// <param name="option">marq option to get</param> | |
/// <remarks>libvlc_video_marquee_string_option_t</remarks> | |
public static sbyte* LibvlcVideoGetMarqueeString(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetMarqueeString(__arg0, option); | |
return __ret; | |
} | |
/// <summary>Enable, disable or set an integer marquee option</summary> | |
/// <param name="p_mi">libvlc media player</param> | |
/// <param name="option">marq option to set</param> | |
/// <param name="i_val">marq option value</param> | |
/// <remarks> | |
/// <para>Setting libvlc_marquee_Enable has the side effect of enabling (arg !0)</para> | |
/// <para>or disabling (arg 0) the marq filter.</para> | |
/// <para>libvlc_video_marquee_int_option_t</para> | |
/// </remarks> | |
public static void LibvlcVideoSetMarqueeInt(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option, int i_val) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetMarqueeInt(__arg0, option, i_val); | |
} | |
/// <summary>Set a marquee string option</summary> | |
/// <param name="p_mi">libvlc media player</param> | |
/// <param name="option">marq option to set</param> | |
/// <param name="psz_text">marq option value</param> | |
/// <remarks>libvlc_video_marquee_string_option_t</remarks> | |
public static void LibvlcVideoSetMarqueeString(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option, string psz_text) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetMarqueeString(__arg0, option, psz_text); | |
} | |
/// <summary>Get integer logo option.</summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">logo option to get, values of libvlc_video_logo_option_t</param> | |
public static int LibvlcVideoGetLogoInt(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetLogoInt(__arg0, option); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set logo option as integer. Options that take a different type value</para> | |
/// <para>are ignored.</para> | |
/// <para>Passing libvlc_logo_enable as option value has the side effect of</para> | |
/// <para>starting (arg !0) or stopping (arg 0) the logo filter.</para> | |
/// </summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">logo option to set, values of libvlc_video_logo_option_t</param> | |
/// <param name="value">logo option value</param> | |
public static void LibvlcVideoSetLogoInt(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option, int value) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetLogoInt(__arg0, option, value); | |
} | |
/// <summary> | |
/// <para>Set logo option as string. Options that take a different type value</para> | |
/// <para>are ignored.</para> | |
/// </summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">logo option to set, values of libvlc_video_logo_option_t</param> | |
/// <param name="psz_value">logo option value</param> | |
public static void LibvlcVideoSetLogoString(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option, string psz_value) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetLogoString(__arg0, option, psz_value); | |
} | |
/// <summary>Get integer adjust option.</summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">adjust option to get, values of libvlc_video_adjust_option_t</param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public static int LibvlcVideoGetAdjustInt(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetAdjustInt(__arg0, option); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set adjust option as integer. Options that take a different type value</para> | |
/// <para>are ignored.</para> | |
/// <para>Passing libvlc_adjust_enable as option value has the side effect of</para> | |
/// <para>starting (arg !0) or stopping (arg 0) the adjust filter.</para> | |
/// </summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">adust option to set, values of libvlc_video_adjust_option_t</param> | |
/// <param name="value">adjust option value</param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public static void LibvlcVideoSetAdjustInt(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option, int value) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetAdjustInt(__arg0, option, value); | |
} | |
/// <summary>Get float adjust option.</summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">adjust option to get, values of libvlc_video_adjust_option_t</param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public static float LibvlcVideoGetAdjustFloat(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetAdjustFloat(__arg0, option); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set adjust option as float. Options that take a different type value</para> | |
/// <para>are ignored.</para> | |
/// </summary> | |
/// <param name="p_mi">libvlc media player instance</param> | |
/// <param name="option">adust option to set, values of libvlc_video_adjust_option_t</param> | |
/// <param name="value">adjust option value</param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public static void LibvlcVideoSetAdjustFloat(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint option, float value) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcVideoSetAdjustFloat(__arg0, option, value); | |
} | |
/// <summary>Gets the list of available audio output modules.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <returns>list of available audio outputs. It must be freed with</returns> | |
/// <remarks> | |
/// <para>libvlc_audio_output_list_release</para> | |
/// <para>libvlc_audio_output_t .</para> | |
/// <para>In case of error, NULL is returned.</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcAudioOutputT LibvlcAudioOutputListGet(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputListGet(__arg0); | |
global::libvlcpp.LibvlcAudioOutputT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcAudioOutputT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcAudioOutputT) global::libvlcpp.LibvlcAudioOutputT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcAudioOutputT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Frees the list of available audio output modules.</summary> | |
/// <param name="p_list">list with audio outputs for release</param> | |
public static void LibvlcAudioOutputListRelease(global::libvlcpp.LibvlcAudioOutputT p_list) | |
{ | |
var __arg0 = ReferenceEquals(p_list, null) ? global::System.IntPtr.Zero : p_list.__Instance; | |
__Internal.LibvlcAudioOutputListRelease(__arg0); | |
} | |
/// <summary>Selects an audio output module.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="psz_name"> | |
/// <para>name of audio output,</para> | |
/// <para>use psz_name of</para> | |
/// </param> | |
/// <returns>0 if function succeeded, -1 on error</returns> | |
/// <remarks> | |
/// <para>Any change will take be effect only after playback is stopped and</para> | |
/// <para>restarted. Audio output cannot be changed while playing.</para> | |
/// <para>libvlc_audio_output_t</para> | |
/// </remarks> | |
public static int LibvlcAudioOutputSet(global::libvlcpp.LibvlcMediaPlayerT p_mi, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputSet(__arg0, psz_name); | |
return __ret; | |
} | |
/// <summary>Gets a list of potential audio output devices,</summary> | |
/// <param name="mp">media player</param> | |
/// <returns> | |
/// <para>A NULL-terminated linked list of potential audio output devices.</para> | |
/// <para>It must be freed with libvlc_audio_output_device_list_release()</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>libvlc_audio_output_device_set().</para> | |
/// <para>Not all audio outputs support enumerating devices.</para> | |
/// <para>The audio output may be functional even if the list is empty (NULL).</para> | |
/// <para>The list may not be exhaustive.</para> | |
/// <para>Some audio output devices in the list might not actually work in</para> | |
/// <para>some circumstances. By default, it is recommended to not specify any</para> | |
/// <para>explicit audio device.</para> | |
/// <para>LibVLC 2.2.0 or later.</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcAudioOutputDeviceT LibvlcAudioOutputDeviceEnum(global::libvlcpp.LibvlcMediaPlayerT mp) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputDeviceEnum(__arg0); | |
global::libvlcpp.LibvlcAudioOutputDeviceT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcAudioOutputDeviceT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcAudioOutputDeviceT) global::libvlcpp.LibvlcAudioOutputDeviceT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcAudioOutputDeviceT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Gets a list of audio output devices for a given audio output module,</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <param name="aout"> | |
/// <para>audio output name</para> | |
/// <para>(as returned by libvlc_audio_output_list_get())</para> | |
/// </param> | |
/// <returns> | |
/// <para>A NULL-terminated linked list of potential audio output devices.</para> | |
/// <para>It must be freed with libvlc_audio_output_device_list_release()</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>libvlc_audio_output_device_set().</para> | |
/// <para>Not all audio outputs support this. In particular, an empty (NULL)</para> | |
/// <para>list of devices doesnotimply that the specified audio output does</para> | |
/// <para>not work.</para> | |
/// <para>The list might not be exhaustive.</para> | |
/// <para>Some audio output devices in the list might not actually work in</para> | |
/// <para>some circumstances. By default, it is recommended to not specify any</para> | |
/// <para>explicit audio device.</para> | |
/// <para>LibVLC 2.1.0 or later.</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcAudioOutputDeviceT LibvlcAudioOutputDeviceListGet(global::libvlcpp.LibvlcInstanceT p_instance, string aout) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputDeviceListGet(__arg0, aout); | |
global::libvlcpp.LibvlcAudioOutputDeviceT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcAudioOutputDeviceT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcAudioOutputDeviceT) global::libvlcpp.LibvlcAudioOutputDeviceT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcAudioOutputDeviceT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Frees a list of available audio output devices.</summary> | |
/// <param name="p_list">list with audio outputs for release</param> | |
/// <remarks>LibVLC 2.1.0 or later.</remarks> | |
public static void LibvlcAudioOutputDeviceListRelease(global::libvlcpp.LibvlcAudioOutputDeviceT p_list) | |
{ | |
var __arg0 = ReferenceEquals(p_list, null) ? global::System.IntPtr.Zero : p_list.__Instance; | |
__Internal.LibvlcAudioOutputDeviceListRelease(__arg0); | |
} | |
/// <summary>Configures an explicit audio output device.</summary> | |
/// <param name="mp">media player</param> | |
/// <param name="module"> | |
/// <para>If NULL, current audio output module.</para> | |
/// <para>if non-NULL, name of audio output module</para> | |
/// <para>(</para> | |
/// </param> | |
/// <param name="device_id">device identifier string</param> | |
/// <returns>Nothing. Errors are ignored (this is a design bug).</returns> | |
/// <remarks> | |
/// <para>If the module paramater is NULL, audio output will be moved to the device</para> | |
/// <para>specified by the device identifier string immediately. This is the</para> | |
/// <para>recommended usage.</para> | |
/// <para>A list of adequate potential device strings can be obtained with</para> | |
/// <para>libvlc_audio_output_device_enum().</para> | |
/// <para>However passing NULL is supported in LibVLC version 2.2.0 and later only;</para> | |
/// <para>in earlier versions, this function would have no effects when the module</para> | |
/// <para>parameter was NULL.</para> | |
/// <para>If the module parameter is not NULL, the device parameter of the</para> | |
/// <para>corresponding audio output, if it exists, will be set to the specified</para> | |
/// <para>string. Note that some audio output modules do not have such a parameter</para> | |
/// <para>(notably MMDevice and PulseAudio).</para> | |
/// <para>A list of adequate potential device strings can be obtained with</para> | |
/// <para>libvlc_audio_output_device_list_get().</para> | |
/// <para>This function does not select the specified audio output plugin.</para> | |
/// <para>libvlc_audio_output_set() is used for that purpose.</para> | |
/// <para>The syntax for the device parameter depends on the audio output.</para> | |
/// <para>Some audio output modules require further parameters (e.g. a channels map</para> | |
/// <para>in the case of ALSA).</para> | |
/// <para>libvlc_audio_output_t)</para> | |
/// </remarks> | |
public static void LibvlcAudioOutputDeviceSet(global::libvlcpp.LibvlcMediaPlayerT mp, string module, string device_id) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
__Internal.LibvlcAudioOutputDeviceSet(__arg0, module, device_id); | |
} | |
/// <summary>Get the current audio output device identifier.</summary> | |
/// <param name="mp">media player</param> | |
/// <returns> | |
/// <para>the current audio output device identifier</para> | |
/// <para>NULL if no device is selected or in case of error</para> | |
/// <para>(the result must be released with free() or libvlc_free()).</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>This complements libvlc_audio_output_device_set().</para> | |
/// <para>The initial value for the current audio output device identifier</para> | |
/// <para>may not be set or may be some unknown value. A LibVLC application should</para> | |
/// <para>compare this value against the known device identifiers (e.g. those that</para> | |
/// <para>were previously retrieved by a call to libvlc_audio_output_device_enum or</para> | |
/// <para>libvlc_audio_output_device_list_get) to find the current audio output device.</para> | |
/// <para>It is possible that the selected audio output device changes (an external</para> | |
/// <para>change) without a call to libvlc_audio_output_device_set. That may make this</para> | |
/// <para>method unsuitable to use if a LibVLC application is attempting to track</para> | |
/// <para>dynamic audio device changes as they happen.</para> | |
/// <para>LibVLC 3.0.0 or later.</para> | |
/// </remarks> | |
public static sbyte* LibvlcAudioOutputDeviceGet(global::libvlcpp.LibvlcMediaPlayerT mp) | |
{ | |
var __arg0 = ReferenceEquals(mp, null) ? global::System.IntPtr.Zero : mp.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputDeviceGet(__arg0); | |
return __ret; | |
} | |
/// <summary>Toggle mute status.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <remarks> | |
/// <para>Toggling mute atomically is not always possible: On some platforms,</para> | |
/// <para>other processes can mute the VLC audio playback stream asynchronously. Thus,</para> | |
/// <para>there is a small race condition where toggling will not work.</para> | |
/// <para>See also the limitations of libvlc_audio_set_mute().</para> | |
/// </remarks> | |
public static void LibvlcAudioToggleMute(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcAudioToggleMute(__arg0); | |
} | |
/// <summary>Get current mute status.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the mute status (boolean) if defined, -1 if undefined/unapplicable</returns> | |
public static int LibvlcAudioGetMute(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetMute(__arg0); | |
return __ret; | |
} | |
/// <summary>Set mute status.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="status">If status is true then mute, otherwise unmute</param> | |
/// <remarks> | |
/// <para>This function does not always work. If there are no active audio</para> | |
/// <para>playback stream, the mute status might not be available. If digital</para> | |
/// <para>pass-through (S/PDIF, HDMI...) is in use, muting may be unapplicable. Also</para> | |
/// <para>some audio output plugins do not support muting at all.</para> | |
/// <para>To force silent playback, disable all audio tracks. This is more</para> | |
/// <para>efficient and reliable than mute.</para> | |
/// </remarks> | |
public static void LibvlcAudioSetMute(global::libvlcpp.LibvlcMediaPlayerT p_mi, int status) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcAudioSetMute(__arg0, status); | |
} | |
/// <summary>Get current software audio volume.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns> | |
/// <para>the software volume in percents</para> | |
/// <para>(0 = mute, 100 = nominal / 0dB)</para> | |
/// </returns> | |
public static int LibvlcAudioGetVolume(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetVolume(__arg0); | |
return __ret; | |
} | |
/// <summary>Set current software audio volume.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="i_volume">the volume in percents (0 = mute, 100 = 0dB)</param> | |
/// <returns>0 if the volume was set, -1 if it was out of range</returns> | |
public static int LibvlcAudioSetVolume(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_volume) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioSetVolume(__arg0, i_volume); | |
return __ret; | |
} | |
/// <summary>Get number of available audio tracks.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the number of available audio tracks (int), or -1 if unavailable</returns> | |
public static int LibvlcAudioGetTrackCount(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetTrackCount(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the description of available audio tracks.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns> | |
/// <para>list with description of available audio tracks, or NULL.</para> | |
/// <para>It must be freed with libvlc_track_description_list_release()</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcTrackDescriptionT LibvlcAudioGetTrackDescription(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetTrackDescription(__arg0); | |
global::libvlcpp.LibvlcTrackDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcTrackDescriptionT) global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcTrackDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get current audio track.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the audio track ID or -1 if no active input.</returns> | |
public static int LibvlcAudioGetTrack(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetTrack(__arg0); | |
return __ret; | |
} | |
/// <summary>Set current audio track.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="i_track">the track ID (i_id field from track description)</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcAudioSetTrack(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_track) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioSetTrack(__arg0, i_track); | |
return __ret; | |
} | |
/// <summary>Get current audio channel.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the audio channel</returns> | |
/// <remarks>libvlc_audio_output_channel_t</remarks> | |
public static int LibvlcAudioGetChannel(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetChannel(__arg0); | |
return __ret; | |
} | |
/// <summary>Set current audio channel.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="channel">the audio channel,</param> | |
/// <returns>0 on success, -1 on error</returns> | |
/// <remarks>libvlc_audio_output_channel_t</remarks> | |
public static int LibvlcAudioSetChannel(global::libvlcpp.LibvlcMediaPlayerT p_mi, int channel) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioSetChannel(__arg0, channel); | |
return __ret; | |
} | |
/// <summary>Get current audio delay.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the audio delay (microseconds)</returns> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public static long LibvlcAudioGetDelay(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioGetDelay(__arg0); | |
return __ret; | |
} | |
/// <summary>Set current audio delay. The audio delay will be reset to zero each time the media changes.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="i_delay">the audio delay (microseconds)</param> | |
/// <returns>0 on success, -1 on error</returns> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public static int LibvlcAudioSetDelay(global::libvlcpp.LibvlcMediaPlayerT p_mi, long i_delay) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioSetDelay(__arg0, i_delay); | |
return __ret; | |
} | |
/// <summary>Get the number of equalizer presets.</summary> | |
/// <returns>number of presets</returns> | |
/// <remarks>LibVLC 2.2.0 or later</remarks> | |
public static uint LibvlcAudioEqualizerGetPresetCount() | |
{ | |
var __ret = __Internal.LibvlcAudioEqualizerGetPresetCount(); | |
return __ret; | |
} | |
/// <summary>Get the name of a particular equalizer preset.</summary> | |
/// <param name="u_index">index of the preset, counting from zero</param> | |
/// <returns>preset name, or NULL if there is no such preset</returns> | |
/// <remarks> | |
/// <para>This name can be used, for example, to prepare a preset label or menu in a user</para> | |
/// <para>interface.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static string LibvlcAudioEqualizerGetPresetName(uint u_index) | |
{ | |
var __ret = __Internal.LibvlcAudioEqualizerGetPresetName(u_index); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Get the number of distinct frequency bands for an equalizer.</summary> | |
/// <returns>number of frequency bands</returns> | |
/// <remarks>LibVLC 2.2.0 or later</remarks> | |
public static uint LibvlcAudioEqualizerGetBandCount() | |
{ | |
var __ret = __Internal.LibvlcAudioEqualizerGetBandCount(); | |
return __ret; | |
} | |
/// <summary>Get a particular equalizer band frequency.</summary> | |
/// <param name="u_index">index of the band, counting from zero</param> | |
/// <returns>equalizer band frequency (Hz), or -1 if there is no such band</returns> | |
/// <remarks> | |
/// <para>This value can be used, for example, to create a label for an equalizer band control</para> | |
/// <para>in a user interface.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static float LibvlcAudioEqualizerGetBandFrequency(uint u_index) | |
{ | |
var __ret = __Internal.LibvlcAudioEqualizerGetBandFrequency(u_index); | |
return __ret; | |
} | |
/// <summary>Create a new default equalizer, with all frequency values zeroed.</summary> | |
/// <returns>opaque equalizer handle, or NULL on error</returns> | |
/// <remarks> | |
/// <para>The new equalizer can subsequently be applied to a media player by invoking</para> | |
/// <para>libvlc_media_player_set_equalizer().</para> | |
/// <para>The returned handle should be freed via libvlc_audio_equalizer_release() when</para> | |
/// <para>it is no longer needed.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcEqualizerT LibvlcAudioEqualizerNew() | |
{ | |
var __ret = __Internal.LibvlcAudioEqualizerNew(); | |
global::libvlcpp.LibvlcEqualizerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEqualizerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEqualizerT) global::libvlcpp.LibvlcEqualizerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEqualizerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Create a new equalizer, with initial frequency values copied from an existing</para> | |
/// <para>preset.</para> | |
/// </summary> | |
/// <param name="u_index">index of the preset, counting from zero</param> | |
/// <returns>opaque equalizer handle, or NULL on error</returns> | |
/// <remarks> | |
/// <para>The new equalizer can subsequently be applied to a media player by invoking</para> | |
/// <para>libvlc_media_player_set_equalizer().</para> | |
/// <para>The returned handle should be freed via libvlc_audio_equalizer_release() when</para> | |
/// <para>it is no longer needed.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcEqualizerT LibvlcAudioEqualizerNewFromPreset(uint u_index) | |
{ | |
var __ret = __Internal.LibvlcAudioEqualizerNewFromPreset(u_index); | |
global::libvlcpp.LibvlcEqualizerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEqualizerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEqualizerT) global::libvlcpp.LibvlcEqualizerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEqualizerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Release a previously created equalizer instance.</summary> | |
/// <param name="p_equalizer">opaque equalizer handle, or NULL</param> | |
/// <remarks> | |
/// <para>The equalizer was previously created by using libvlc_audio_equalizer_new() or</para> | |
/// <para>libvlc_audio_equalizer_new_from_preset().</para> | |
/// <para>It is safe to invoke this method with a NULL p_equalizer parameter for no effect.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static void LibvlcAudioEqualizerRelease(global::libvlcpp.LibvlcEqualizerT p_equalizer) | |
{ | |
var __arg0 = ReferenceEquals(p_equalizer, null) ? global::System.IntPtr.Zero : p_equalizer.__Instance; | |
__Internal.LibvlcAudioEqualizerRelease(__arg0); | |
} | |
/// <summary>Set a new pre-amplification value for an equalizer.</summary> | |
/// <param name="p_equalizer">valid equalizer handle, must not be NULL</param> | |
/// <param name="f_preamp">preamp value (-20.0 to 20.0 Hz)</param> | |
/// <returns>zero on success, -1 on error</returns> | |
/// <remarks> | |
/// <para>The new equalizer settings are subsequently applied to a media player by invoking</para> | |
/// <para>libvlc_media_player_set_equalizer().</para> | |
/// <para>The supplied amplification value will be clamped to the -20.0 to +20.0 range.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static int LibvlcAudioEqualizerSetPreamp(global::libvlcpp.LibvlcEqualizerT p_equalizer, float f_preamp) | |
{ | |
var __arg0 = ReferenceEquals(p_equalizer, null) ? global::System.IntPtr.Zero : p_equalizer.__Instance; | |
var __ret = __Internal.LibvlcAudioEqualizerSetPreamp(__arg0, f_preamp); | |
return __ret; | |
} | |
/// <summary>Get the current pre-amplification value from an equalizer.</summary> | |
/// <param name="p_equalizer">valid equalizer handle, must not be NULL</param> | |
/// <returns>preamp value (Hz)</returns> | |
/// <remarks>LibVLC 2.2.0 or later</remarks> | |
public static float LibvlcAudioEqualizerGetPreamp(global::libvlcpp.LibvlcEqualizerT p_equalizer) | |
{ | |
var __arg0 = ReferenceEquals(p_equalizer, null) ? global::System.IntPtr.Zero : p_equalizer.__Instance; | |
var __ret = __Internal.LibvlcAudioEqualizerGetPreamp(__arg0); | |
return __ret; | |
} | |
/// <summary>Set a new amplification value for a particular equalizer frequency band.</summary> | |
/// <param name="p_equalizer">valid equalizer handle, must not be NULL</param> | |
/// <param name="f_amp">amplification value (-20.0 to 20.0 Hz)</param> | |
/// <param name="u_band">index, counting from zero, of the frequency band to set</param> | |
/// <returns>zero on success, -1 on error</returns> | |
/// <remarks> | |
/// <para>The new equalizer settings are subsequently applied to a media player by invoking</para> | |
/// <para>libvlc_media_player_set_equalizer().</para> | |
/// <para>The supplied amplification value will be clamped to the -20.0 to +20.0 range.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static int LibvlcAudioEqualizerSetAmpAtIndex(global::libvlcpp.LibvlcEqualizerT p_equalizer, float f_amp, uint u_band) | |
{ | |
var __arg0 = ReferenceEquals(p_equalizer, null) ? global::System.IntPtr.Zero : p_equalizer.__Instance; | |
var __ret = __Internal.LibvlcAudioEqualizerSetAmpAtIndex(__arg0, f_amp, u_band); | |
return __ret; | |
} | |
/// <summary>Get the amplification value for a particular equalizer frequency band.</summary> | |
/// <param name="p_equalizer">valid equalizer handle, must not be NULL</param> | |
/// <param name="u_band">index, counting from zero, of the frequency band to get</param> | |
/// <returns>amplification value (Hz); NaN if there is no such frequency band</returns> | |
/// <remarks>LibVLC 2.2.0 or later</remarks> | |
public static float LibvlcAudioEqualizerGetAmpAtIndex(global::libvlcpp.LibvlcEqualizerT p_equalizer, uint u_band) | |
{ | |
var __arg0 = ReferenceEquals(p_equalizer, null) ? global::System.IntPtr.Zero : p_equalizer.__Instance; | |
var __ret = __Internal.LibvlcAudioEqualizerGetAmpAtIndex(__arg0, u_band); | |
return __ret; | |
} | |
/// <summary>Apply new equalizer settings to a media player.</summary> | |
/// <param name="p_mi">opaque media player handle</param> | |
/// <param name="p_equalizer">opaque equalizer handle, or NULL to disable the equalizer for this media player</param> | |
/// <returns>zero on success, -1 on error</returns> | |
/// <remarks> | |
/// <para>The equalizer is first created by invoking libvlc_audio_equalizer_new() or</para> | |
/// <para>libvlc_audio_equalizer_new_from_preset().</para> | |
/// <para>It is possible to apply new equalizer settings to a media player whether the media</para> | |
/// <para>player is currently playing media or not.</para> | |
/// <para>Invoking this method will immediately apply the new equalizer settings to the audio</para> | |
/// <para>output of the currently playing media if there is any.</para> | |
/// <para>If there is no currently playing media, the new equalizer settings will be applied</para> | |
/// <para>later if and when new media is played.</para> | |
/// <para>Equalizer settings will automatically be applied to subsequently played media.</para> | |
/// <para>To disable the equalizer for a media player invoke this method passing NULL for the</para> | |
/// <para>p_equalizer parameter.</para> | |
/// <para>The media player does not keep a reference to the supplied equalizer so it is safe</para> | |
/// <para>for an application to release the equalizer reference any time after this method</para> | |
/// <para>returns.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public static int LibvlcMediaPlayerSetEqualizer(global::libvlcpp.LibvlcMediaPlayerT p_mi, global::libvlcpp.LibvlcEqualizerT p_equalizer) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __arg1 = ReferenceEquals(p_equalizer, null) ? global::System.IntPtr.Zero : p_equalizer.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerSetEqualizer(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>Gets the media role.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <returns>the media player role (</returns> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static int LibvlcMediaPlayerGetRole(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetRole(__arg0); | |
return __ret; | |
} | |
/// <summary>Sets the media role.</summary> | |
/// <param name="p_mi">media player</param> | |
/// <param name="role">the media player role (</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcMediaPlayerSetRole(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint role) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerSetRole(__arg0, role); | |
return __ret; | |
} | |
} | |
/// <summary>A LibVLC media list holds multiple</summary> | |
/// <remarks> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC media list (playlist) external API</para> | |
/// </remarks> | |
public unsafe partial class libvlc_media_list | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_new")] | |
internal static extern global::System.IntPtr LibvlcMediaListNew(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_release")] | |
internal static extern void LibvlcMediaListRelease(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_retain")] | |
internal static extern void LibvlcMediaListRetain(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_set_media")] | |
internal static extern void LibvlcMediaListSetMedia(global::System.IntPtr p_ml, global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_media")] | |
internal static extern global::System.IntPtr LibvlcMediaListMedia(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_add_media")] | |
internal static extern int LibvlcMediaListAddMedia(global::System.IntPtr p_ml, global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_insert_media")] | |
internal static extern int LibvlcMediaListInsertMedia(global::System.IntPtr p_ml, global::System.IntPtr p_md, int i_pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_remove_index")] | |
internal static extern int LibvlcMediaListRemoveIndex(global::System.IntPtr p_ml, int i_pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_count")] | |
internal static extern int LibvlcMediaListCount(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_item_at_index")] | |
internal static extern global::System.IntPtr LibvlcMediaListItemAtIndex(global::System.IntPtr p_ml, int i_pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_index_of_item")] | |
internal static extern int LibvlcMediaListIndexOfItem(global::System.IntPtr p_ml, global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_is_readonly")] | |
internal static extern int LibvlcMediaListIsReadonly(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_lock")] | |
internal static extern void LibvlcMediaListLock(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_unlock")] | |
internal static extern void LibvlcMediaListUnlock(global::System.IntPtr p_ml); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_event_manager")] | |
internal static extern global::System.IntPtr LibvlcMediaListEventManager(global::System.IntPtr p_ml); | |
} | |
/// <summary>Create an empty media list.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <returns>empty media list, or NULL on error</returns> | |
public static global::libvlcpp.LibvlcMediaListT LibvlcMediaListNew(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaListNew(__arg0); | |
global::libvlcpp.LibvlcMediaListT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaListT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaListT) global::libvlcpp.LibvlcMediaListT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaListT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Release media list created with libvlc_media_list_new().</summary> | |
/// <param name="p_ml">a media list created with libvlc_media_list_new()</param> | |
public static void LibvlcMediaListRelease(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
__Internal.LibvlcMediaListRelease(__arg0); | |
} | |
/// <summary>Retain reference to a media list</summary> | |
/// <param name="p_ml">a media list created with libvlc_media_list_new()</param> | |
public static void LibvlcMediaListRetain(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
__Internal.LibvlcMediaListRetain(__arg0); | |
} | |
/// <summary> | |
/// <para>Associate media instance with this media list instance.</para> | |
/// <para>If another media instance was present it will be released.</para> | |
/// <para>The libvlc_media_list_lock should NOT be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <param name="p_md">media instance to add</param> | |
public static void LibvlcMediaListSetMedia(global::libvlcpp.LibvlcMediaListT p_ml, global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __arg1 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaListSetMedia(__arg0, __arg1); | |
} | |
/// <summary> | |
/// <para>Get media instance from this media list instance. This action will increase</para> | |
/// <para>the refcount on the media instance.</para> | |
/// <para>The libvlc_media_list_lock should NOT be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <returns>media instance</returns> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaListMedia(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListMedia(__arg0); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Add media instance to media list</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <param name="p_md">a media instance</param> | |
/// <returns>0 on success, -1 if the media list is read-only</returns> | |
public static int LibvlcMediaListAddMedia(global::libvlcpp.LibvlcMediaListT p_ml, global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __arg1 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaListAddMedia(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Insert media instance in media list on a position</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <param name="p_md">a media instance</param> | |
/// <param name="i_pos">position in array where to insert</param> | |
/// <returns>0 on success, -1 if the media list is read-only</returns> | |
public static int LibvlcMediaListInsertMedia(global::libvlcpp.LibvlcMediaListT p_ml, global::libvlcpp.LibvlcMediaT p_md, int i_pos) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __arg1 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaListInsertMedia(__arg0, __arg1, i_pos); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Remove media instance from media list on a position</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <param name="i_pos">position in array where to insert</param> | |
/// <returns>0 on success, -1 if the list is read-only or the item was not found</returns> | |
public static int LibvlcMediaListRemoveIndex(global::libvlcpp.LibvlcMediaListT p_ml, int i_pos) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListRemoveIndex(__arg0, i_pos); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Get count on media list items</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <returns>number of items in media list</returns> | |
public static int LibvlcMediaListCount(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListCount(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>List media instance in media list at a position</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <param name="i_pos">position in array where to insert</param> | |
/// <returns> | |
/// <para>media instance at position i_pos, or NULL if not found.</para> | |
/// <para>In case of success, libvlc_media_retain() is called to increase the refcount</para> | |
/// <para>on the media.</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcMediaT LibvlcMediaListItemAtIndex(global::libvlcpp.LibvlcMediaListT p_ml, int i_pos) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListItemAtIndex(__arg0, i_pos); | |
global::libvlcpp.LibvlcMediaT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaT) global::libvlcpp.LibvlcMediaT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Find index position of List media instance in media list.</para> | |
/// <para>Warning: the function will return the first matched position.</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <param name="p_md">media instance</param> | |
/// <returns>position of media instance or -1 if media not found</returns> | |
public static int LibvlcMediaListIndexOfItem(global::libvlcpp.LibvlcMediaListT p_ml, global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __arg1 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaListIndexOfItem(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>This indicates if this media list is read-only from a user point of view</summary> | |
/// <param name="p_ml">media list instance</param> | |
/// <returns>1 on readonly, 0 on readwrite</returns> | |
public static int LibvlcMediaListIsReadonly(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListIsReadonly(__arg0); | |
return __ret; | |
} | |
/// <summary>Get lock on media list items</summary> | |
/// <param name="p_ml">a media list instance</param> | |
public static void LibvlcMediaListLock(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
__Internal.LibvlcMediaListLock(__arg0); | |
} | |
/// <summary> | |
/// <para>Release lock on media list items</para> | |
/// <para>The libvlc_media_list_lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
public static void LibvlcMediaListUnlock(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
__Internal.LibvlcMediaListUnlock(__arg0); | |
} | |
/// <summary> | |
/// <para>Get libvlc_event_manager from this media list instance.</para> | |
/// <para>The p_event_manager is immutable, so you don't have to hold the lock</para> | |
/// </summary> | |
/// <param name="p_ml">a media list instance</param> | |
/// <returns>libvlc_event_manager</returns> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcMediaListEventManager(global::libvlcpp.LibvlcMediaListT p_ml) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
/// <summary>Defines playback modes for playlist.</summary> | |
public enum LibvlcPlaybackModeT | |
{ | |
LibvlcPlaybackModeDefault = 0, | |
LibvlcPlaybackModeLoop = 1, | |
LibvlcPlaybackModeRepeat = 2 | |
} | |
/// <summary>The LibVLC media list player plays a</summary> | |
/// <remarks> | |
/// <para>in a certain order.</para> | |
/// <para>This is required to especially support playlist files.</para> | |
/// <para>The normal</para> | |
/// <para>single media, and does not handle playlist files properly.</para> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC media list player external API</para> | |
/// </remarks> | |
public unsafe partial class LibvlcMediaListPlayerT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaListPlayerT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaListPlayerT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaListPlayerT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaListPlayerT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaListPlayerT __CreateInstance(global::libvlcpp.LibvlcMediaListPlayerT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaListPlayerT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaListPlayerT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaListPlayerT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaListPlayerT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaListPlayerT(global::libvlcpp.LibvlcMediaListPlayerT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaListPlayerT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class libvlc_media_list_player | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_new")] | |
internal static extern global::System.IntPtr LibvlcMediaListPlayerNew(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_release")] | |
internal static extern void LibvlcMediaListPlayerRelease(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_retain")] | |
internal static extern void LibvlcMediaListPlayerRetain(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_event_manager")] | |
internal static extern global::System.IntPtr LibvlcMediaListPlayerEventManager(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_set_media_player")] | |
internal static extern void LibvlcMediaListPlayerSetMediaPlayer(global::System.IntPtr p_mlp, global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_get_media_player")] | |
internal static extern global::System.IntPtr LibvlcMediaListPlayerGetMediaPlayer(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_set_media_list")] | |
internal static extern void LibvlcMediaListPlayerSetMediaList(global::System.IntPtr p_mlp, global::System.IntPtr p_mlist); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_play")] | |
internal static extern void LibvlcMediaListPlayerPlay(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_pause")] | |
internal static extern void LibvlcMediaListPlayerPause(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_is_playing")] | |
internal static extern int LibvlcMediaListPlayerIsPlaying(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_get_state")] | |
internal static extern global::libvlcpp.LibvlcStateT LibvlcMediaListPlayerGetState(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_play_item_at_index")] | |
internal static extern int LibvlcMediaListPlayerPlayItemAtIndex(global::System.IntPtr p_mlp, int i_index); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_play_item")] | |
internal static extern int LibvlcMediaListPlayerPlayItem(global::System.IntPtr p_mlp, global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_stop")] | |
internal static extern void LibvlcMediaListPlayerStop(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_next")] | |
internal static extern int LibvlcMediaListPlayerNext(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_previous")] | |
internal static extern int LibvlcMediaListPlayerPrevious(global::System.IntPtr p_mlp); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_player_set_playback_mode")] | |
internal static extern void LibvlcMediaListPlayerSetPlaybackMode(global::System.IntPtr p_mlp, global::libvlcpp.LibvlcPlaybackModeT e_mode); | |
} | |
/// <summary>Create new media_list_player.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <returns>media list player instance or NULL on error</returns> | |
public static global::libvlcpp.LibvlcMediaListPlayerT LibvlcMediaListPlayerNew(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerNew(__arg0); | |
global::libvlcpp.LibvlcMediaListPlayerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaListPlayerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaListPlayerT) global::libvlcpp.LibvlcMediaListPlayerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaListPlayerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Release a media_list_player after use</para> | |
/// <para>Decrement the reference count of a media player object. If the</para> | |
/// <para>reference count is 0, then libvlc_media_list_player_release() will</para> | |
/// <para>release the media player object. If the media player object</para> | |
/// <para>has been released, then it should not be used again.</para> | |
/// </summary> | |
/// <param name="p_mlp">media list player instance</param> | |
public static void LibvlcMediaListPlayerRelease(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
__Internal.LibvlcMediaListPlayerRelease(__arg0); | |
} | |
/// <summary> | |
/// <para>Retain a reference to a media player list object. Use</para> | |
/// <para>libvlc_media_list_player_release() to decrement reference count.</para> | |
/// </summary> | |
/// <param name="p_mlp">media player list object</param> | |
public static void LibvlcMediaListPlayerRetain(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
__Internal.LibvlcMediaListPlayerRetain(__arg0); | |
} | |
/// <summary>Return the event manager of this media_list_player.</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <returns>the event manager</returns> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcMediaListPlayerEventManager(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Replace media player in media_list_player with this instance.</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <param name="p_mi">media player instance</param> | |
public static void LibvlcMediaListPlayerSetMediaPlayer(global::libvlcpp.LibvlcMediaListPlayerT p_mlp, global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __arg1 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaListPlayerSetMediaPlayer(__arg0, __arg1); | |
} | |
/// <summary>Get media player of the media_list_player instance.</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <returns>media player instance</returns> | |
/// <remarks>the caller is responsible for releasing the returned instance</remarks> | |
public static global::libvlcpp.LibvlcMediaPlayerT LibvlcMediaListPlayerGetMediaPlayer(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerGetMediaPlayer(__arg0); | |
global::libvlcpp.LibvlcMediaPlayerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaPlayerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaPlayerT) global::libvlcpp.LibvlcMediaPlayerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaPlayerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Set the media list associated with the player</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <param name="p_mlist">list of media</param> | |
public static void LibvlcMediaListPlayerSetMediaList(global::libvlcpp.LibvlcMediaListPlayerT p_mlp, global::libvlcpp.LibvlcMediaListT p_mlist) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __arg1 = ReferenceEquals(p_mlist, null) ? global::System.IntPtr.Zero : p_mlist.__Instance; | |
__Internal.LibvlcMediaListPlayerSetMediaList(__arg0, __arg1); | |
} | |
/// <summary>Play media list</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
public static void LibvlcMediaListPlayerPlay(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
__Internal.LibvlcMediaListPlayerPlay(__arg0); | |
} | |
/// <summary>Toggle pause (or resume) media list</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
public static void LibvlcMediaListPlayerPause(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
__Internal.LibvlcMediaListPlayerPause(__arg0); | |
} | |
/// <summary>Is media list playing?</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <returns>true for playing and false for not playing</returns> | |
public static int LibvlcMediaListPlayerIsPlaying(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerIsPlaying(__arg0); | |
return __ret; | |
} | |
/// <summary>Get current libvlc_state of media list player</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <returns>libvlc_state_t for media list player</returns> | |
public static global::libvlcpp.LibvlcStateT LibvlcMediaListPlayerGetState(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerGetState(__arg0); | |
return __ret; | |
} | |
/// <summary>Play media list item at position index</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <param name="i_index">index in media list to play</param> | |
/// <returns>0 upon success -1 if the item wasn't found</returns> | |
public static int LibvlcMediaListPlayerPlayItemAtIndex(global::libvlcpp.LibvlcMediaListPlayerT p_mlp, int i_index) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerPlayItemAtIndex(__arg0, i_index); | |
return __ret; | |
} | |
/// <summary>Play the given media item</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <param name="p_md">the media instance</param> | |
/// <returns>0 upon success, -1 if the media is not part of the media list</returns> | |
public static int LibvlcMediaListPlayerPlayItem(global::libvlcpp.LibvlcMediaListPlayerT p_mlp, global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __arg1 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerPlayItem(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>Stop playing media list</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
public static void LibvlcMediaListPlayerStop(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
__Internal.LibvlcMediaListPlayerStop(__arg0); | |
} | |
/// <summary>Play next item from media list</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <returns>0 upon success -1 if there is no next item</returns> | |
public static int LibvlcMediaListPlayerNext(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerNext(__arg0); | |
return __ret; | |
} | |
/// <summary>Play previous item from media list</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <returns>0 upon success -1 if there is no previous item</returns> | |
public static int LibvlcMediaListPlayerPrevious(global::libvlcpp.LibvlcMediaListPlayerT p_mlp) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
var __ret = __Internal.LibvlcMediaListPlayerPrevious(__arg0); | |
return __ret; | |
} | |
/// <summary>Sets the playback mode for the playlist</summary> | |
/// <param name="p_mlp">media list player instance</param> | |
/// <param name="e_mode">playback mode specification</param> | |
public static void LibvlcMediaListPlayerSetPlaybackMode(global::libvlcpp.LibvlcMediaListPlayerT p_mlp, global::libvlcpp.LibvlcPlaybackModeT e_mode) | |
{ | |
var __arg0 = ReferenceEquals(p_mlp, null) ? global::System.IntPtr.Zero : p_mlp.__Instance; | |
__Internal.LibvlcMediaListPlayerSetPlaybackMode(__arg0, e_mode); | |
} | |
} | |
/// <summary> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC media library external API</para> | |
/// </summary> | |
public unsafe partial class LibvlcMediaLibraryT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaLibraryT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaLibraryT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaLibraryT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaLibraryT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaLibraryT __CreateInstance(global::libvlcpp.LibvlcMediaLibraryT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaLibraryT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaLibraryT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaLibraryT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaLibraryT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaLibraryT(global::libvlcpp.LibvlcMediaLibraryT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaLibraryT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class libvlc_media_library | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_library_new")] | |
internal static extern global::System.IntPtr LibvlcMediaLibraryNew(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_library_release")] | |
internal static extern void LibvlcMediaLibraryRelease(global::System.IntPtr p_mlib); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_library_retain")] | |
internal static extern void LibvlcMediaLibraryRetain(global::System.IntPtr p_mlib); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_library_load")] | |
internal static extern int LibvlcMediaLibraryLoad(global::System.IntPtr p_mlib); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_library_media_list")] | |
internal static extern global::System.IntPtr LibvlcMediaLibraryMediaList(global::System.IntPtr p_mlib); | |
} | |
/// <summary>Create an new Media Library object</summary> | |
/// <param name="p_instance">the libvlc instance</param> | |
/// <returns>a new object or NULL on error</returns> | |
public static global::libvlcpp.LibvlcMediaLibraryT LibvlcMediaLibraryNew(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcMediaLibraryNew(__arg0); | |
global::libvlcpp.LibvlcMediaLibraryT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaLibraryT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaLibraryT) global::libvlcpp.LibvlcMediaLibraryT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaLibraryT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Release media library object. This functions decrements the</para> | |
/// <para>reference count of the media library object. If it reaches 0,</para> | |
/// <para>then the object will be released.</para> | |
/// </summary> | |
/// <param name="p_mlib">media library object</param> | |
public static void LibvlcMediaLibraryRelease(global::libvlcpp.LibvlcMediaLibraryT p_mlib) | |
{ | |
var __arg0 = ReferenceEquals(p_mlib, null) ? global::System.IntPtr.Zero : p_mlib.__Instance; | |
__Internal.LibvlcMediaLibraryRelease(__arg0); | |
} | |
/// <summary> | |
/// <para>Retain a reference to a media library object. This function will</para> | |
/// <para>increment the reference counting for this object. Use</para> | |
/// <para>libvlc_media_library_release() to decrement the reference count.</para> | |
/// </summary> | |
/// <param name="p_mlib">media library object</param> | |
public static void LibvlcMediaLibraryRetain(global::libvlcpp.LibvlcMediaLibraryT p_mlib) | |
{ | |
var __arg0 = ReferenceEquals(p_mlib, null) ? global::System.IntPtr.Zero : p_mlib.__Instance; | |
__Internal.LibvlcMediaLibraryRetain(__arg0); | |
} | |
/// <summary>Load media library.</summary> | |
/// <param name="p_mlib">media library object</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcMediaLibraryLoad(global::libvlcpp.LibvlcMediaLibraryT p_mlib) | |
{ | |
var __arg0 = ReferenceEquals(p_mlib, null) ? global::System.IntPtr.Zero : p_mlib.__Instance; | |
var __ret = __Internal.LibvlcMediaLibraryLoad(__arg0); | |
return __ret; | |
} | |
/// <summary>Get media library subitems.</summary> | |
/// <param name="p_mlib">media library object</param> | |
/// <returns>media list subitems</returns> | |
public static global::libvlcpp.LibvlcMediaListT LibvlcMediaLibraryMediaList(global::libvlcpp.LibvlcMediaLibraryT p_mlib) | |
{ | |
var __arg0 = ReferenceEquals(p_mlib, null) ? global::System.IntPtr.Zero : p_mlib.__Instance; | |
var __ret = __Internal.LibvlcMediaLibraryMediaList(__arg0); | |
global::libvlcpp.LibvlcMediaListT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaListT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaListT) global::libvlcpp.LibvlcMediaListT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaListT.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
/// <summary>Category of a media discoverer</summary> | |
/// <remarks>libvlc_media_discoverer_list_get()</remarks> | |
public enum LibvlcMediaDiscovererCategoryT | |
{ | |
/// <summary>devices, like portable music player</summary> | |
LibvlcMediaDiscovererDevices = 0, | |
/// <summary>LAN/WAN services, like Upnp, SMB, or SAP</summary> | |
LibvlcMediaDiscovererLan = 1, | |
/// <summary>Podcasts</summary> | |
LibvlcMediaDiscovererPodcasts = 2, | |
/// <summary>Local directories, like Video, Music or Pictures directories</summary> | |
LibvlcMediaDiscovererLocaldirs = 3 | |
} | |
/// <summary> | |
/// <para>LibVLC media discovery finds available media via various means.</para> | |
/// <para>This corresponds to the service discovery functionality in VLC media player.</para> | |
/// <para>Different plugins find potential medias locally (e.g. user media directory),</para> | |
/// <para>from peripherals (e.g. video capture device), on the local network</para> | |
/// <para>(e.g. SAP) or on the Internet (e.g. Internet radios).</para> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC media discovery external API</para> | |
/// </summary> | |
public unsafe partial class LibvlcMediaDiscovererT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaDiscovererT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaDiscovererT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaDiscovererT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaDiscovererT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaDiscovererT __CreateInstance(global::libvlcpp.LibvlcMediaDiscovererT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaDiscovererT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaDiscovererT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaDiscovererT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaDiscovererT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaDiscovererT(global::libvlcpp.LibvlcMediaDiscovererT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaDiscovererT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
/// <summary>Media discoverer description</summary> | |
/// <remarks>libvlc_media_discoverer_list_get()</remarks> | |
public unsafe partial class LibvlcMediaDiscovererDescriptionT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 24)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_longname; | |
[FieldOffset(16)] | |
internal global::libvlcpp.LibvlcMediaDiscovererCategoryT i_cat; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_media_discoverer_description_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaDiscovererDescriptionT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcMediaDiscovererDescriptionT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcMediaDiscovererDescriptionT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaDiscovererDescriptionT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcMediaDiscovererDescriptionT __CreateInstance(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcMediaDiscovererDescriptionT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal)); | |
*(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcMediaDiscovererDescriptionT(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcMediaDiscovererDescriptionT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcMediaDiscovererDescriptionT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcMediaDiscovererDescriptionT(global::libvlcpp.LibvlcMediaDiscovererDescriptionT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcMediaDiscovererDescriptionT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public sbyte* PszName | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance)->psz_name; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance)->psz_name = (global::System.IntPtr) value; | |
} | |
} | |
public sbyte* PszLongname | |
{ | |
get | |
{ | |
return (sbyte*) ((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance)->psz_longname; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance)->psz_longname = (global::System.IntPtr) value; | |
} | |
} | |
public global::libvlcpp.LibvlcMediaDiscovererCategoryT ICat | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance)->i_cat; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcMediaDiscovererDescriptionT.__Internal*) __Instance)->i_cat = value; | |
} | |
} | |
} | |
public unsafe partial class libvlc_media_discoverer | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_new")] | |
internal static extern global::System.IntPtr LibvlcMediaDiscovererNew(global::System.IntPtr p_inst, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_start")] | |
internal static extern int LibvlcMediaDiscovererStart(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_stop")] | |
internal static extern void LibvlcMediaDiscovererStop(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_release")] | |
internal static extern void LibvlcMediaDiscovererRelease(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_media_list")] | |
internal static extern global::System.IntPtr LibvlcMediaDiscovererMediaList(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_is_running")] | |
internal static extern int LibvlcMediaDiscovererIsRunning(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_list_get")] | |
internal static extern ulong LibvlcMediaDiscovererListGet(global::System.IntPtr p_inst, global::libvlcpp.LibvlcMediaDiscovererCategoryT i_cat, global::System.IntPtr ppp_services); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_list_release")] | |
internal static extern void LibvlcMediaDiscovererListRelease(global::System.IntPtr pp_services, ulong i_count); | |
} | |
/// <summary>Create a media discoverer object by name.</summary> | |
/// <param name="p_inst">libvlc instance</param> | |
/// <param name="psz_name"> | |
/// <para>service name; use libvlc_media_discoverer_list_get() to get</para> | |
/// <para>a list of the discoverer names available in this libVLC instance</para> | |
/// </param> | |
/// <returns>media discover object or NULL in case of error</returns> | |
/// <remarks> | |
/// <para>After this object is created, you should attach to media_list events in</para> | |
/// <para>order to be notified of new items discovered.</para> | |
/// <para>You need to call libvlc_media_discoverer_start() in order to start the</para> | |
/// <para>discovery.</para> | |
/// <para>libvlc_media_discoverer_media_list</para> | |
/// <para>libvlc_media_discoverer_event_manager</para> | |
/// <para>libvlc_media_discoverer_start</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcMediaDiscovererT LibvlcMediaDiscovererNew(global::libvlcpp.LibvlcInstanceT p_inst, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_inst, null) ? global::System.IntPtr.Zero : p_inst.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererNew(__arg0, psz_name); | |
global::libvlcpp.LibvlcMediaDiscovererT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaDiscovererT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaDiscovererT) global::libvlcpp.LibvlcMediaDiscovererT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaDiscovererT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Start media discovery.</summary> | |
/// <param name="p_mdis">media discover object</param> | |
/// <returns>-1 in case of error, 0 otherwise</returns> | |
/// <remarks> | |
/// <para>To stop it, call libvlc_media_discoverer_stop() or</para> | |
/// <para>libvlc_media_discoverer_list_release() directly.</para> | |
/// <para>libvlc_media_discoverer_stop</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static int LibvlcMediaDiscovererStart(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererStart(__arg0); | |
return __ret; | |
} | |
/// <summary>Stop media discovery.</summary> | |
/// <param name="p_mdis">media discover object</param> | |
/// <remarks> | |
/// <para>libvlc_media_discoverer_start</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public static void LibvlcMediaDiscovererStop(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
__Internal.LibvlcMediaDiscovererStop(__arg0); | |
} | |
/// <summary> | |
/// <para>Release media discover object. If the reference count reaches 0, then</para> | |
/// <para>the object will be released.</para> | |
/// </summary> | |
/// <param name="p_mdis">media service discover object</param> | |
public static void LibvlcMediaDiscovererRelease(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
__Internal.LibvlcMediaDiscovererRelease(__arg0); | |
} | |
/// <summary>Get media service discover media list.</summary> | |
/// <param name="p_mdis">media service discover object</param> | |
/// <returns>list of media items</returns> | |
public static global::libvlcpp.LibvlcMediaListT LibvlcMediaDiscovererMediaList(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererMediaList(__arg0); | |
global::libvlcpp.LibvlcMediaListT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaListT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaListT) global::libvlcpp.LibvlcMediaListT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaListT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Query if media service discover object is running.</summary> | |
/// <param name="p_mdis">media service discover object</param> | |
/// <returns>true if running, false if not</returns> | |
public static int LibvlcMediaDiscovererIsRunning(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererIsRunning(__arg0); | |
return __ret; | |
} | |
/// <summary>Get media discoverer services by category</summary> | |
/// <param name="p_inst">libvlc instance</param> | |
/// <param name="i_cat">category of services to fetch</param> | |
/// <param name="ppp_services"> | |
/// <para>address to store an allocated array of media discoverer</para> | |
/// <para>services (must be freed with libvlc_media_discoverer_list_release() by</para> | |
/// <para>the caller) [OUT]</para> | |
/// </param> | |
/// <returns>the number of media discoverer services (0 on error)</returns> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static ulong LibvlcMediaDiscovererListGet(global::libvlcpp.LibvlcInstanceT p_inst, global::libvlcpp.LibvlcMediaDiscovererCategoryT i_cat, global::libvlcpp.LibvlcMediaDiscovererDescriptionT ppp_services) | |
{ | |
var __arg0 = ReferenceEquals(p_inst, null) ? global::System.IntPtr.Zero : p_inst.__Instance; | |
var __arg2 = ReferenceEquals(ppp_services, null) ? global::System.IntPtr.Zero : ppp_services.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererListGet(__arg0, i_cat, __arg2); | |
return __ret; | |
} | |
/// <summary>Release an array of media discoverer services</summary> | |
/// <param name="pp_services">array to release</param> | |
/// <param name="i_count">number of elements in the array</param> | |
/// <remarks> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>libvlc_media_discoverer_list_get()</para> | |
/// </remarks> | |
public static void LibvlcMediaDiscovererListRelease(global::libvlcpp.LibvlcMediaDiscovererDescriptionT pp_services, ulong i_count) | |
{ | |
var __arg0 = ReferenceEquals(pp_services, null) ? global::System.IntPtr.Zero : pp_services.__Instance; | |
__Internal.LibvlcMediaDiscovererListRelease(__arg0, i_count); | |
} | |
} | |
/// <summary>Event types</summary> | |
public enum LibvlcEventE | |
{ | |
LibvlcMediaMetaChanged = 0, | |
LibvlcMediaSubItemAdded = 1, | |
LibvlcMediaDurationChanged = 2, | |
LibvlcMediaParsedChanged = 3, | |
LibvlcMediaFreed = 4, | |
LibvlcMediaStateChanged = 5, | |
LibvlcMediaSubItemTreeAdded = 6, | |
LibvlcMediaPlayerMediaChanged = 256, | |
LibvlcMediaPlayerNothingSpecial = 257, | |
LibvlcMediaPlayerOpening = 258, | |
LibvlcMediaPlayerBuffering = 259, | |
LibvlcMediaPlayerPlaying = 260, | |
LibvlcMediaPlayerPaused = 261, | |
LibvlcMediaPlayerStopped = 262, | |
LibvlcMediaPlayerForward = 263, | |
LibvlcMediaPlayerBackward = 264, | |
LibvlcMediaPlayerEndReached = 265, | |
LibvlcMediaPlayerEncounteredError = 266, | |
LibvlcMediaPlayerTimeChanged = 267, | |
LibvlcMediaPlayerPositionChanged = 268, | |
LibvlcMediaPlayerSeekableChanged = 269, | |
LibvlcMediaPlayerPausableChanged = 270, | |
LibvlcMediaPlayerTitleChanged = 271, | |
LibvlcMediaPlayerSnapshotTaken = 272, | |
LibvlcMediaPlayerLengthChanged = 273, | |
LibvlcMediaPlayerVout = 274, | |
LibvlcMediaPlayerScrambledChanged = 275, | |
LibvlcMediaPlayerESAdded = 276, | |
LibvlcMediaPlayerESDeleted = 277, | |
LibvlcMediaPlayerESSelected = 278, | |
LibvlcMediaPlayerCorked = 279, | |
LibvlcMediaPlayerUncorked = 280, | |
LibvlcMediaPlayerMuted = 281, | |
LibvlcMediaPlayerUnmuted = 282, | |
LibvlcMediaPlayerAudioVolume = 283, | |
LibvlcMediaPlayerAudioDevice = 284, | |
LibvlcMediaPlayerChapterChanged = 285, | |
LibvlcMediaListItemAdded = 512, | |
LibvlcMediaListWillAddItem = 513, | |
LibvlcMediaListItemDeleted = 514, | |
LibvlcMediaListWillDeleteItem = 515, | |
LibvlcMediaListEndReached = 516, | |
LibvlcMediaListViewItemAdded = 768, | |
LibvlcMediaListViewWillAddItem = 769, | |
LibvlcMediaListViewItemDeleted = 770, | |
LibvlcMediaListViewWillDeleteItem = 771, | |
LibvlcMediaListPlayerPlayed = 1024, | |
LibvlcMediaListPlayerNextItemSet = 1025, | |
LibvlcMediaListPlayerStopped = 1026, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_start()</para> | |
/// </remarks> | |
LibvlcMediaDiscovererStarted = 1280, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcMediaDiscovererEnded = 1281, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcRendererDiscovererItemAdded = 1282, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcRendererDiscovererItemDeleted = 1283, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaAdded = 1536, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaRemoved = 1537, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaChanged = 1538, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStarted = 1539, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStopped = 1540, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStatusInit = 1541, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStatusOpening = 1542, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStatusPlaying = 1543, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStatusPause = 1544, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStatusEnd = 1545, | |
/// <remarks> | |
/// <para>Useless event, it will be triggered only when calling</para> | |
/// <para>libvlc_media_discoverer_stop()</para> | |
/// </remarks> | |
LibvlcVlmMediaInstanceStatusError = 1546 | |
} | |
/// <summary>Renderer item</summary> | |
/// <remarks> | |
/// <para>This struct is passed by a</para> | |
/// <para>or deleted.</para> | |
/// <para>An item is valid until the</para> | |
/// <para>is called with the same pointer.</para> | |
/// <para>libvlc_renderer_discoverer_event_manager()</para> | |
/// </remarks> | |
/// <summary>A LibVLC event</summary> | |
public unsafe partial class LibvlcEventT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 32)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int type; | |
[FieldOffset(8)] | |
internal global::System.IntPtr p_obj; | |
[FieldOffset(16)] | |
internal global::libvlcpp.LibvlcEventT._.__Internal u; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_event_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public unsafe partial struct _ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__.__Internal media_meta_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.___.__Internal media_subitem_added; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.____.__Internal media_duration_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._._____.__Internal media_parsed_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.______.__Internal media_freed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._._______.__Internal media_state_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_subitemtree_added; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_buffering; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_chapter_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_position_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_time_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_title_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_seekable_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_pausable_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_scrambled_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_vout; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_list_item_added; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_list_will_add_item; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_list_item_deleted; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_list_will_delete_item; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_list_player_next_item_set; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_snapshot_taken; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_length_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal vlm_media_event; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_media_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_es_changed; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_audio_volume; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.__________.__Internal media_player_audio_device; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._._________.__Internal renderer_discoverer_item_added; | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcEventT._.________.__Internal renderer_discoverer_item_deleted; | |
} | |
public unsafe partial class __ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcMetaT meta_type; | |
} | |
} | |
public unsafe partial class ___ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr new_child; | |
} | |
} | |
public unsafe partial class ____ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long new_duration; | |
} | |
} | |
public unsafe partial class _____ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_status; | |
} | |
} | |
public unsafe partial class ______ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr md; | |
} | |
} | |
public unsafe partial class _______ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_state; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal float new_cache; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_chapter; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal float new_position; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long new_time; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_title; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_seekable; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_pausable; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_scrambled; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int new_count; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
[FieldOffset(8)] | |
internal int index; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
[FieldOffset(8)] | |
internal int index; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
[FieldOffset(8)] | |
internal int index; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
[FieldOffset(8)] | |
internal int index; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_filename; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long new_length; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_media_name; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_instance_name; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr new_media; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::libvlcpp.LibvlcTrackTypeT i_type; | |
[FieldOffset(4)] | |
internal int i_id; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 4)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal float volume; | |
} | |
} | |
public unsafe partial class __________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr device; | |
} | |
} | |
public unsafe partial class _________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
} | |
} | |
public unsafe partial class ________ | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr item; | |
} | |
} | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcEventT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcEventT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcEventT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcEventT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcEventT __CreateInstance(global::libvlcpp.LibvlcEventT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcEventT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcEventT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcEventT.__Internal)); | |
*(global::libvlcpp.LibvlcEventT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcEventT(global::libvlcpp.LibvlcEventT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcEventT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcEventT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcEventT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcEventT(global::libvlcpp.LibvlcEventT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcEventT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcEventT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcEventT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcEventT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public int Type | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcEventT.__Internal*) __Instance)->type; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcEventT.__Internal*) __Instance)->type = value; | |
} | |
} | |
public global::System.IntPtr PObj | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcEventT.__Internal*) __Instance)->p_obj; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcEventT.__Internal*) __Instance)->p_obj = (global::System.IntPtr) value; | |
} | |
} | |
} | |
/// <summary> | |
/// <para>@{</para> | |
/// <para></para> | |
/// <para>LibVLC dialog external API</para> | |
/// </summary> | |
public enum LibvlcDialogQuestionType | |
{ | |
LIBVLC_DIALOG_QUESTION_NORMAL = 0, | |
LIBVLC_DIALOG_QUESTION_WARNING = 1, | |
LIBVLC_DIALOG_QUESTION_CRITICAL = 2 | |
} | |
public unsafe partial class LibvlcDialogId | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcDialogId> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcDialogId>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcDialogId __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcDialogId(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcDialogId __CreateInstance(global::libvlcpp.LibvlcDialogId.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcDialogId(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcDialogId.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcDialogId.__Internal)); | |
*(global::libvlcpp.LibvlcDialogId.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcDialogId(global::libvlcpp.LibvlcDialogId.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcDialogId(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
/// <summary>Dialog callbacks to be implemented</summary> | |
public unsafe partial class LibvlcDialogCbs : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr pf_display_error; | |
[FieldOffset(8)] | |
internal global::System.IntPtr pf_display_login; | |
[FieldOffset(16)] | |
internal global::System.IntPtr pf_display_question; | |
[FieldOffset(24)] | |
internal global::System.IntPtr pf_display_progress; | |
[FieldOffset(32)] | |
internal global::System.IntPtr pf_cancel; | |
[FieldOffset(40)] | |
internal global::System.IntPtr pf_update_progress; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_dialog_cbs@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcDialogCbs> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcDialogCbs>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcDialogCbs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcDialogCbs(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcDialogCbs __CreateInstance(global::libvlcpp.LibvlcDialogCbs.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcDialogCbs(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcDialogCbs.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcDialogCbs.__Internal)); | |
*(global::libvlcpp.LibvlcDialogCbs.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcDialogCbs(global::libvlcpp.LibvlcDialogCbs.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcDialogCbs(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcDialogCbs() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcDialogCbs.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcDialogCbs(global::libvlcpp.LibvlcDialogCbs _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcDialogCbs.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcDialogCbs.__Internal*) __Instance) = *((global::libvlcpp.LibvlcDialogCbs.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcDialogCbs __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
} | |
public unsafe partial class libvlc_dialog | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_dialog_set_callbacks")] | |
internal static extern void LibvlcDialogSetCallbacks(global::System.IntPtr p_instance, global::System.IntPtr p_cbs, global::System.IntPtr p_data); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_dialog_set_context")] | |
internal static extern void LibvlcDialogSetContext(global::System.IntPtr p_id, global::System.IntPtr p_context); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_dialog_get_context")] | |
internal static extern global::System.IntPtr LibvlcDialogGetContext(global::System.IntPtr p_id); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_dialog_post_login")] | |
internal static extern int LibvlcDialogPostLogin(global::System.IntPtr p_id, [MarshalAs(UnmanagedType.LPStr)] string psz_username, [MarshalAs(UnmanagedType.LPStr)] string psz_password, bool b_store); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_dialog_post_action")] | |
internal static extern int LibvlcDialogPostAction(global::System.IntPtr p_id, int i_action); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_dialog_dismiss")] | |
internal static extern int LibvlcDialogDismiss(global::System.IntPtr p_id); | |
} | |
/// <summary>Register callbacks in order to handle VLC dialogs</summary> | |
/// <param name="p_cbs">a pointer to callbacks, or NULL to unregister callbacks.</param> | |
/// <param name="p_data">opaque pointer for the callback</param> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static void LibvlcDialogSetCallbacks(global::libvlcpp.LibvlcInstanceT p_instance, global::libvlcpp.LibvlcDialogCbs p_cbs, global::System.IntPtr p_data) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __arg1 = ReferenceEquals(p_cbs, null) ? global::System.IntPtr.Zero : p_cbs.__Instance; | |
__Internal.LibvlcDialogSetCallbacks(__arg0, __arg1, p_data); | |
} | |
/// <summary>Associate an opaque pointer with the dialog id</summary> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static void LibvlcDialogSetContext(global::libvlcpp.LibvlcDialogId p_id, global::System.IntPtr p_context) | |
{ | |
var __arg0 = ReferenceEquals(p_id, null) ? global::System.IntPtr.Zero : p_id.__Instance; | |
__Internal.LibvlcDialogSetContext(__arg0, p_context); | |
} | |
/// <summary>Return the opaque pointer associated with the dialog id</summary> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public static global::System.IntPtr LibvlcDialogGetContext(global::libvlcpp.LibvlcDialogId p_id) | |
{ | |
var __arg0 = ReferenceEquals(p_id, null) ? global::System.IntPtr.Zero : p_id.__Instance; | |
var __ret = __Internal.LibvlcDialogGetContext(__arg0); | |
return __ret; | |
} | |
/// <summary>Post a login answer</summary> | |
/// <param name="p_id">id of the dialog</param> | |
/// <param name="psz_username">valid and non empty string</param> | |
/// <param name="psz_password">valid string (can be empty)</param> | |
/// <param name="b_store">if true, store the credentials</param> | |
/// <returns>0 on success, or -1 on error</returns> | |
/// <remarks> | |
/// <para>After this call, p_id won't be valid anymore</para> | |
/// <para>libvlc_dialog_cbs.pf_display_login</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// </remarks> | |
public static int LibvlcDialogPostLogin(global::libvlcpp.LibvlcDialogId p_id, string psz_username, string psz_password, bool b_store) | |
{ | |
var __arg0 = ReferenceEquals(p_id, null) ? global::System.IntPtr.Zero : p_id.__Instance; | |
var __ret = __Internal.LibvlcDialogPostLogin(__arg0, psz_username, psz_password, b_store); | |
return __ret; | |
} | |
/// <summary>Post a question answer</summary> | |
/// <param name="p_id">id of the dialog</param> | |
/// <param name="i_action">1 for action1, 2 for action2</param> | |
/// <returns>0 on success, or -1 on error</returns> | |
/// <remarks> | |
/// <para>After this call, p_id won't be valid anymore</para> | |
/// <para>libvlc_dialog_cbs.pf_display_question</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// </remarks> | |
public static int LibvlcDialogPostAction(global::libvlcpp.LibvlcDialogId p_id, int i_action) | |
{ | |
var __arg0 = ReferenceEquals(p_id, null) ? global::System.IntPtr.Zero : p_id.__Instance; | |
var __ret = __Internal.LibvlcDialogPostAction(__arg0, i_action); | |
return __ret; | |
} | |
/// <summary>Dismiss a dialog</summary> | |
/// <param name="p_id">id of the dialog</param> | |
/// <returns>0 on success, or -1 on error</returns> | |
/// <remarks> | |
/// <para>After this call, p_id won't be valid anymore</para> | |
/// <para>libvlc_dialog_cbs.pf_cancel</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// </remarks> | |
public static int LibvlcDialogDismiss(global::libvlcpp.LibvlcDialogId p_id) | |
{ | |
var __arg0 = ReferenceEquals(p_id, null) ? global::System.IntPtr.Zero : p_id.__Instance; | |
var __ret = __Internal.LibvlcDialogDismiss(__arg0); | |
return __ret; | |
} | |
} | |
public unsafe partial class libvlc_vlm | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_release")] | |
internal static extern void LibvlcVlmRelease(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_add_broadcast")] | |
internal static extern int LibvlcVlmAddBroadcast(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_input, [MarshalAs(UnmanagedType.LPStr)] string psz_output, int i_options, sbyte** ppsz_options, int b_enabled, int b_loop); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_add_vod")] | |
internal static extern int LibvlcVlmAddVod(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_input, int i_options, sbyte** ppsz_options, int b_enabled, [MarshalAs(UnmanagedType.LPStr)] string psz_mux); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_del_media")] | |
internal static extern int LibvlcVlmDelMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_set_enabled")] | |
internal static extern int LibvlcVlmSetEnabled(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, int b_enabled); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_set_output")] | |
internal static extern int LibvlcVlmSetOutput(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_output); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_set_input")] | |
internal static extern int LibvlcVlmSetInput(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_input); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_add_input")] | |
internal static extern int LibvlcVlmAddInput(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_input); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_set_loop")] | |
internal static extern int LibvlcVlmSetLoop(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, int b_loop); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_set_mux")] | |
internal static extern int LibvlcVlmSetMux(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_mux); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_change_media")] | |
internal static extern int LibvlcVlmChangeMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, [MarshalAs(UnmanagedType.LPStr)] string psz_input, [MarshalAs(UnmanagedType.LPStr)] string psz_output, int i_options, sbyte** ppsz_options, int b_enabled, int b_loop); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_play_media")] | |
internal static extern int LibvlcVlmPlayMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_stop_media")] | |
internal static extern int LibvlcVlmStopMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_pause_media")] | |
internal static extern int LibvlcVlmPauseMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_seek_media")] | |
internal static extern int LibvlcVlmSeekMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, float f_percentage); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_show_media")] | |
internal static extern global::System.IntPtr LibvlcVlmShowMedia(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_get_media_instance_position")] | |
internal static extern float LibvlcVlmGetMediaInstancePosition(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, int i_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_get_media_instance_time")] | |
internal static extern int LibvlcVlmGetMediaInstanceTime(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, int i_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_get_media_instance_length")] | |
internal static extern int LibvlcVlmGetMediaInstanceLength(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, int i_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_get_media_instance_rate")] | |
internal static extern int LibvlcVlmGetMediaInstanceRate(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_name, int i_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_vlm_get_event_manager")] | |
internal static extern global::System.IntPtr LibvlcVlmGetEventManager(global::System.IntPtr p_instance); | |
} | |
/// <summary>Release the vlm instance related to the given libvlc_instance_t</summary> | |
/// <param name="p_instance">the instance</param> | |
public static void LibvlcVlmRelease(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcVlmRelease(__arg0); | |
} | |
/// <summary>Add a broadcast, with one input.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the new broadcast</param> | |
/// <param name="psz_input">the input MRL</param> | |
/// <param name="psz_output">the output MRL (the parameter to the "sout" variable)</param> | |
/// <param name="i_options">number of additional options</param> | |
/// <param name="ppsz_options">additional options</param> | |
/// <param name="b_enabled">boolean for enabling the new broadcast</param> | |
/// <param name="b_loop">Should this broadcast be played in loop ?</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmAddBroadcast(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_input, string psz_output, int i_options, sbyte** ppsz_options, int b_enabled, int b_loop) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmAddBroadcast(__arg0, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop); | |
return __ret; | |
} | |
/// <summary>Add a vod, with one input.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the new vod media</param> | |
/// <param name="psz_input">the input MRL</param> | |
/// <param name="i_options">number of additional options</param> | |
/// <param name="ppsz_options">additional options</param> | |
/// <param name="b_enabled">boolean for enabling the new vod</param> | |
/// <param name="psz_mux">the muxer of the vod media</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmAddVod(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_input, int i_options, sbyte** ppsz_options, int b_enabled, string psz_mux) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmAddVod(__arg0, psz_name, psz_input, i_options, ppsz_options, b_enabled, psz_mux); | |
return __ret; | |
} | |
/// <summary>Delete a media (VOD or broadcast).</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to delete</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmDelMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmDelMedia(__arg0, psz_name); | |
return __ret; | |
} | |
/// <summary>Enable or disable a media (VOD or broadcast).</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to work on</param> | |
/// <param name="b_enabled">the new status</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmSetEnabled(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, int b_enabled) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmSetEnabled(__arg0, psz_name, b_enabled); | |
return __ret; | |
} | |
/// <summary>Set the output for a media.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to work on</param> | |
/// <param name="psz_output">the output MRL (the parameter to the "sout" variable)</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmSetOutput(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_output) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmSetOutput(__arg0, psz_name, psz_output); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set a media's input MRL. This will delete all existing inputs and</para> | |
/// <para>add the specified one.</para> | |
/// </summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to work on</param> | |
/// <param name="psz_input">the input MRL</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmSetInput(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_input) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmSetInput(__arg0, psz_name, psz_input); | |
return __ret; | |
} | |
/// <summary>Add a media's input MRL. This will add the specified one.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to work on</param> | |
/// <param name="psz_input">the input MRL</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmAddInput(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_input) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmAddInput(__arg0, psz_name, psz_input); | |
return __ret; | |
} | |
/// <summary>Set a media's loop status.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to work on</param> | |
/// <param name="b_loop">the new status</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmSetLoop(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, int b_loop) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmSetLoop(__arg0, psz_name, b_loop); | |
return __ret; | |
} | |
/// <summary>Set a media's vod muxer.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the media to work on</param> | |
/// <param name="psz_mux">the new muxer</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmSetMux(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_mux) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmSetMux(__arg0, psz_name, psz_mux); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Edit the parameters of a media. This will delete all existing inputs and</para> | |
/// <para>add the specified one.</para> | |
/// </summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the new broadcast</param> | |
/// <param name="psz_input">the input MRL</param> | |
/// <param name="psz_output">the output MRL (the parameter to the "sout" variable)</param> | |
/// <param name="i_options">number of additional options</param> | |
/// <param name="ppsz_options">additional options</param> | |
/// <param name="b_enabled">boolean for enabling the new broadcast</param> | |
/// <param name="b_loop">Should this broadcast be played in loop ?</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmChangeMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, string psz_input, string psz_output, int i_options, sbyte** ppsz_options, int b_enabled, int b_loop) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmChangeMedia(__arg0, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop); | |
return __ret; | |
} | |
/// <summary>Play the named broadcast.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the broadcast</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmPlayMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmPlayMedia(__arg0, psz_name); | |
return __ret; | |
} | |
/// <summary>Stop the named broadcast.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the broadcast</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmStopMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmStopMedia(__arg0, psz_name); | |
return __ret; | |
} | |
/// <summary>Pause the named broadcast.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the broadcast</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmPauseMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmPauseMedia(__arg0, psz_name); | |
return __ret; | |
} | |
/// <summary>Seek in the named broadcast.</summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name">the name of the broadcast</param> | |
/// <param name="f_percentage">the percentage to seek to</param> | |
/// <returns>0 on success, -1 on error</returns> | |
public static int LibvlcVlmSeekMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, float f_percentage) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmSeekMedia(__arg0, psz_name, f_percentage); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Return information about the named media as a JSON</para> | |
/// <para>string representation.</para> | |
/// </summary> | |
/// <param name="p_instance">the instance</param> | |
/// <param name="psz_name"> | |
/// <para>the name of the media,</para> | |
/// <para>if the name is an empty string, all media is described</para> | |
/// </param> | |
/// <returns>string with information about named media, or NULL on error</returns> | |
/// <remarks> | |
/// <para>This function is mainly intended for debugging use,</para> | |
/// <para>if you want programmatic access to the state of</para> | |
/// <para>a vlm_media_instance_t, please use the corresponding</para> | |
/// <para>libvlc_vlm_get_media_instance_xxx -functions.</para> | |
/// <para>Currently there are no such functions available for</para> | |
/// <para>vlm_media_t though.</para> | |
/// </remarks> | |
public static string LibvlcVlmShowMedia(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmShowMedia(__arg0, psz_name); | |
return Marshal.PtrToStringAnsi(__ret); | |
} | |
/// <summary>Get vlm_media instance position by name or instance id</summary> | |
/// <param name="p_instance">a libvlc instance</param> | |
/// <param name="psz_name">name of vlm media instance</param> | |
/// <param name="i_instance">instance id</param> | |
/// <returns>position as float or -1. on error</returns> | |
public static float LibvlcVlmGetMediaInstancePosition(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, int i_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmGetMediaInstancePosition(__arg0, psz_name, i_instance); | |
return __ret; | |
} | |
/// <summary>Get vlm_media instance time by name or instance id</summary> | |
/// <param name="p_instance">a libvlc instance</param> | |
/// <param name="psz_name">name of vlm media instance</param> | |
/// <param name="i_instance">instance id</param> | |
/// <returns>time as integer or -1 on error</returns> | |
public static int LibvlcVlmGetMediaInstanceTime(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, int i_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmGetMediaInstanceTime(__arg0, psz_name, i_instance); | |
return __ret; | |
} | |
/// <summary>Get vlm_media instance length by name or instance id</summary> | |
/// <param name="p_instance">a libvlc instance</param> | |
/// <param name="psz_name">name of vlm media instance</param> | |
/// <param name="i_instance">instance id</param> | |
/// <returns>length of media item or -1 on error</returns> | |
public static int LibvlcVlmGetMediaInstanceLength(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, int i_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmGetMediaInstanceLength(__arg0, psz_name, i_instance); | |
return __ret; | |
} | |
/// <summary>Get vlm_media instance playback rate by name or instance id</summary> | |
/// <param name="p_instance">a libvlc instance</param> | |
/// <param name="psz_name">name of vlm media instance</param> | |
/// <param name="i_instance">instance id</param> | |
/// <returns>playback rate or -1 on error</returns> | |
public static int LibvlcVlmGetMediaInstanceRate(global::libvlcpp.LibvlcInstanceT p_instance, string psz_name, int i_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmGetMediaInstanceRate(__arg0, psz_name, i_instance); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Get libvlc_event_manager from a vlm media.</para> | |
/// <para>The p_event_manager is immutable, so you don't have to hold the lock</para> | |
/// </summary> | |
/// <param name="p_instance">a libvlc instance</param> | |
/// <returns>libvlc_event_manager</returns> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcVlmGetEventManager(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcVlmGetEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
/// <summary>This structure is opaque. It represents a libvlc log iterator</summary> | |
public unsafe partial class LibvlcLogIteratorT | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 0)] | |
public partial struct __Internal | |
{ | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcLogIteratorT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcLogIteratorT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcLogIteratorT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcLogIteratorT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcLogIteratorT __CreateInstance(global::libvlcpp.LibvlcLogIteratorT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcLogIteratorT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcLogIteratorT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcLogIteratorT.__Internal)); | |
*(global::libvlcpp.LibvlcLogIteratorT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcLogIteratorT(global::libvlcpp.LibvlcLogIteratorT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcLogIteratorT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
} | |
public unsafe partial class LibvlcLogMessageT : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int i_severity; | |
[FieldOffset(8)] | |
internal global::System.IntPtr psz_type; | |
[FieldOffset(16)] | |
internal global::System.IntPtr psz_name; | |
[FieldOffset(24)] | |
internal global::System.IntPtr psz_header; | |
[FieldOffset(32)] | |
internal global::System.IntPtr psz_message; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0libvlc_log_message_t@@QEAA@AEBU0@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcLogMessageT> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.LibvlcLogMessageT>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.LibvlcLogMessageT __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcLogMessageT(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.LibvlcLogMessageT __CreateInstance(global::libvlcpp.LibvlcLogMessageT.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.LibvlcLogMessageT(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.LibvlcLogMessageT.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcLogMessageT.__Internal)); | |
*(global::libvlcpp.LibvlcLogMessageT.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private LibvlcLogMessageT(global::libvlcpp.LibvlcLogMessageT.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected LibvlcLogMessageT(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public LibvlcLogMessageT() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcLogMessageT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
public LibvlcLogMessageT(global::libvlcpp.LibvlcLogMessageT _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.LibvlcLogMessageT.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance) = *((global::libvlcpp.LibvlcLogMessageT.__Internal*) _0.__Instance); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.LibvlcLogMessageT __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public int ISeverity | |
{ | |
get | |
{ | |
return ((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->i_severity; | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->i_severity = value; | |
} | |
} | |
public string PszType | |
{ | |
get | |
{ | |
return Marshal.PtrToStringAnsi(((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_type); | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_type = Marshal.StringToHGlobalAnsi(value); | |
} | |
} | |
public string PszName | |
{ | |
get | |
{ | |
return Marshal.PtrToStringAnsi(((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_name); | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_name = Marshal.StringToHGlobalAnsi(value); | |
} | |
} | |
public string PszHeader | |
{ | |
get | |
{ | |
return Marshal.PtrToStringAnsi(((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_header); | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_header = Marshal.StringToHGlobalAnsi(value); | |
} | |
} | |
public string PszMessage | |
{ | |
get | |
{ | |
return Marshal.PtrToStringAnsi(((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_message); | |
} | |
set | |
{ | |
((global::libvlcpp.LibvlcLogMessageT.__Internal*) __Instance)->psz_message = Marshal.StringToHGlobalAnsi(value); | |
} | |
} | |
} | |
public unsafe partial class deprecated | |
{ | |
public partial struct __Internal | |
{ | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_fps")] | |
internal static extern float LibvlcMediaPlayerGetFps(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_set_agl")] | |
internal static extern void LibvlcMediaPlayerSetAgl(global::System.IntPtr p_mi, uint drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_player_get_agl")] | |
internal static extern uint LibvlcMediaPlayerGetAgl(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_track_description_release")] | |
internal static extern void LibvlcTrackDescriptionRelease(global::System.IntPtr p_track_description); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_height")] | |
internal static extern int LibvlcVideoGetHeight(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_width")] | |
internal static extern int LibvlcVideoGetWidth(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_title_description")] | |
internal static extern global::System.IntPtr LibvlcVideoGetTitleDescription(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_get_chapter_description")] | |
internal static extern global::System.IntPtr LibvlcVideoGetChapterDescription(global::System.IntPtr p_mi, int i_title); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_video_set_subtitle_file")] | |
internal static extern int LibvlcVideoSetSubtitleFile(global::System.IntPtr p_mi, [MarshalAs(UnmanagedType.LPStr)] string psz_subtitle); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_toggle_teletext")] | |
internal static extern void LibvlcToggleTeletext(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_count")] | |
internal static extern int LibvlcAudioOutputDeviceCount(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_audio_output); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_longname")] | |
internal static extern sbyte* LibvlcAudioOutputDeviceLongname(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_output, int i_device); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_device_id")] | |
internal static extern sbyte* LibvlcAudioOutputDeviceId(global::System.IntPtr p_instance, [MarshalAs(UnmanagedType.LPStr)] string psz_audio_output, int i_device); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_get_device_type")] | |
internal static extern int LibvlcAudioOutputGetDeviceType(global::System.IntPtr p_mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_audio_output_set_device_type")] | |
internal static extern void LibvlcAudioOutputSetDeviceType(global::System.IntPtr p_mp, int device_type); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_parse")] | |
internal static extern void LibvlcMediaParse(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_parse_async")] | |
internal static extern void LibvlcMediaParseAsync(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_is_parsed")] | |
internal static extern int LibvlcMediaIsParsed(global::System.IntPtr p_md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_get_tracks_info")] | |
internal static extern int LibvlcMediaGetTracksInfo(global::System.IntPtr p_md, global::System.IntPtr tracks); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_list_add_file_content")] | |
internal static extern int LibvlcMediaListAddFileContent(global::System.IntPtr p_ml, [MarshalAs(UnmanagedType.LPStr)] string psz_uri); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_new_from_name")] | |
internal static extern global::System.IntPtr LibvlcMediaDiscovererNewFromName(global::System.IntPtr p_inst, [MarshalAs(UnmanagedType.LPStr)] string psz_name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_localized_name")] | |
internal static extern sbyte* LibvlcMediaDiscovererLocalizedName(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_media_discoverer_event_manager")] | |
internal static extern global::System.IntPtr LibvlcMediaDiscovererEventManager(global::System.IntPtr p_mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_wait")] | |
internal static extern void LibvlcWait(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_get_log_verbosity")] | |
internal static extern uint LibvlcGetLogVerbosity(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_set_log_verbosity")] | |
internal static extern void LibvlcSetLogVerbosity(global::System.IntPtr p_instance, uint level); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_open")] | |
internal static extern global::System.IntPtr LibvlcLogOpen(global::System.IntPtr p_instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_close")] | |
internal static extern void LibvlcLogClose(global::System.IntPtr p_log); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_count")] | |
internal static extern uint LibvlcLogCount(global::System.IntPtr p_log); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_clear")] | |
internal static extern void LibvlcLogClear(global::System.IntPtr p_log); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_get_iterator")] | |
internal static extern global::System.IntPtr LibvlcLogGetIterator(global::System.IntPtr p_log); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_iterator_free")] | |
internal static extern void LibvlcLogIteratorFree(global::System.IntPtr p_iter); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_iterator_has_next")] | |
internal static extern int LibvlcLogIteratorHasNext(global::System.IntPtr p_iter); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_log_iterator_next")] | |
internal static extern global::System.IntPtr LibvlcLogIteratorNext(global::System.IntPtr p_iter, global::System.IntPtr p_buf); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlc", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="libvlc_playlist_play")] | |
internal static extern void LibvlcPlaylistPlay(global::System.IntPtr p_instance, int i_id, int i_options, sbyte** ppsz_options); | |
} | |
/// <summary>Get movie fps rate</summary> | |
/// <param name="p_mi">the Media Player</param> | |
/// <returns>frames per second (fps) for this playing movie, or 0 if unspecified</returns> | |
/// <remarks> | |
/// <para>This function is provided for backward compatibility. It cannot deal with</para> | |
/// <para>multiple video tracks. In LibVLC versions prior to 3.0, it would also fail</para> | |
/// <para>if the file format did not convey the frame rate explicitly.</para> | |
/// <para>Consider using libvlc_media_tracks_get() instead.</para> | |
/// </remarks> | |
public static float LibvlcMediaPlayerGetFps(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetFps(__arg0); | |
return __ret; | |
} | |
/// <remarks>Use libvlc_media_player_set_nsobject() instead</remarks> | |
public static void LibvlcMediaPlayerSetAgl(global::libvlcpp.LibvlcMediaPlayerT p_mi, uint drawable) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcMediaPlayerSetAgl(__arg0, drawable); | |
} | |
/// <remarks>Use libvlc_media_player_get_nsobject() instead</remarks> | |
public static uint LibvlcMediaPlayerGetAgl(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcMediaPlayerGetAgl(__arg0); | |
return __ret; | |
} | |
/// <remarks>Use libvlc_track_description_list_release() instead</remarks> | |
public static void LibvlcTrackDescriptionRelease(global::libvlcpp.LibvlcTrackDescriptionT p_track_description) | |
{ | |
var __arg0 = ReferenceEquals(p_track_description, null) ? global::System.IntPtr.Zero : p_track_description.__Instance; | |
__Internal.LibvlcTrackDescriptionRelease(__arg0); | |
} | |
/// <summary>Get current video height.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the video pixel height or 0 if not applicable</returns> | |
/// <remarks>Use libvlc_video_get_size() instead.</remarks> | |
public static int LibvlcVideoGetHeight(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetHeight(__arg0); | |
return __ret; | |
} | |
/// <summary>Get current video width.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns>the video pixel width or 0 if not applicable</returns> | |
/// <remarks>Use libvlc_video_get_size() instead.</remarks> | |
public static int LibvlcVideoGetWidth(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetWidth(__arg0); | |
return __ret; | |
} | |
/// <summary>Get the description of available titles.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <returns> | |
/// <para>list containing description of available titles.</para> | |
/// <para>It must be freed with libvlc_track_description_list_release()</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcTrackDescriptionT LibvlcVideoGetTitleDescription(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetTitleDescription(__arg0); | |
global::libvlcpp.LibvlcTrackDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcTrackDescriptionT) global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcTrackDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get the description of available chapters for specific title.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="i_title">selected title</param> | |
/// <returns> | |
/// <para>list containing description of available chapter for title i_title.</para> | |
/// <para>It must be freed with libvlc_track_description_list_release()</para> | |
/// </returns> | |
public static global::libvlcpp.LibvlcTrackDescriptionT LibvlcVideoGetChapterDescription(global::libvlcpp.LibvlcMediaPlayerT p_mi, int i_title) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoGetChapterDescription(__arg0, i_title); | |
global::libvlcpp.LibvlcTrackDescriptionT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcTrackDescriptionT) global::libvlcpp.LibvlcTrackDescriptionT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcTrackDescriptionT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Set new video subtitle file.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <param name="psz_subtitle">new video subtitle file</param> | |
/// <returns>the success status (boolean)</returns> | |
/// <remarks>Use libvlc_media_player_add_slave() instead.</remarks> | |
public static int LibvlcVideoSetSubtitleFile(global::libvlcpp.LibvlcMediaPlayerT p_mi, string psz_subtitle) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcVideoSetSubtitleFile(__arg0, psz_subtitle); | |
return __ret; | |
} | |
/// <summary>Toggle teletext transparent status on video output.</summary> | |
/// <param name="p_mi">the media player</param> | |
/// <remarks>use libvlc_video_set_teletext() instead.</remarks> | |
public static void LibvlcToggleTeletext(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
__Internal.LibvlcToggleTeletext(__arg0); | |
} | |
/// <summary>Backward compatibility stub. Do not use in new code.</summary> | |
/// <returns>always 0.</returns> | |
/// <remarks>Use libvlc_audio_output_device_list_get() instead.</remarks> | |
public static int LibvlcAudioOutputDeviceCount(global::libvlcpp.LibvlcInstanceT p_instance, string psz_audio_output) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputDeviceCount(__arg0, psz_audio_output); | |
return __ret; | |
} | |
/// <summary>Backward compatibility stub. Do not use in new code.</summary> | |
/// <returns>always NULL.</returns> | |
/// <remarks>Use libvlc_audio_output_device_list_get() instead.</remarks> | |
public static sbyte* LibvlcAudioOutputDeviceLongname(global::libvlcpp.LibvlcInstanceT p_instance, string psz_output, int i_device) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputDeviceLongname(__arg0, psz_output, i_device); | |
return __ret; | |
} | |
/// <summary>Backward compatibility stub. Do not use in new code.</summary> | |
/// <returns>always NULL.</returns> | |
/// <remarks>Use libvlc_audio_output_device_list_get() instead.</remarks> | |
public static sbyte* LibvlcAudioOutputDeviceId(global::libvlcpp.LibvlcInstanceT p_instance, string psz_audio_output, int i_device) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputDeviceId(__arg0, psz_audio_output, i_device); | |
return __ret; | |
} | |
/// <summary>Stub for backward compatibility.</summary> | |
/// <returns>always -1.</returns> | |
public static int LibvlcAudioOutputGetDeviceType(global::libvlcpp.LibvlcMediaPlayerT p_mi) | |
{ | |
var __arg0 = ReferenceEquals(p_mi, null) ? global::System.IntPtr.Zero : p_mi.__Instance; | |
var __ret = __Internal.LibvlcAudioOutputGetDeviceType(__arg0); | |
return __ret; | |
} | |
/// <summary>Stub for backward compatibility.</summary> | |
public static void LibvlcAudioOutputSetDeviceType(global::libvlcpp.LibvlcMediaPlayerT p_mp, int device_type) | |
{ | |
var __arg0 = ReferenceEquals(p_mp, null) ? global::System.IntPtr.Zero : p_mp.__Instance; | |
__Internal.LibvlcAudioOutputSetDeviceType(__arg0, device_type); | |
} | |
/// <summary>Parse a media.</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <remarks> | |
/// <para>This fetches (local) art, meta data and tracks information.</para> | |
/// <para>The method is synchronous.</para> | |
/// <para>This function could block indefinitely.</para> | |
/// <para>Use libvlc_media_parse_with_options() instead</para> | |
/// <para>libvlc_media_parse_with_options</para> | |
/// <para>libvlc_media_get_meta</para> | |
/// <para>libvlc_media_get_tracks_info</para> | |
/// </remarks> | |
public static void LibvlcMediaParse(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaParse(__arg0); | |
} | |
/// <summary>Parse a media.</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <remarks> | |
/// <para>This fetches (local) art, meta data and tracks information.</para> | |
/// <para>The method is the asynchronous of libvlc_media_parse().</para> | |
/// <para>To track when this is over you can listen to libvlc_MediaParsedChanged</para> | |
/// <para>event. However if the media was already parsed you will not receive this</para> | |
/// <para>event.</para> | |
/// <para>You can't be sure to receive the libvlc_MediaParsedChanged</para> | |
/// <para>event (you can wait indefinitely for this event).</para> | |
/// <para>Use libvlc_media_parse_with_options() instead</para> | |
/// <para>libvlc_media_parse</para> | |
/// <para>libvlc_MediaParsedChanged</para> | |
/// <para>libvlc_media_get_meta</para> | |
/// <para>libvlc_media_get_tracks_info</para> | |
/// </remarks> | |
public static void LibvlcMediaParseAsync(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
__Internal.LibvlcMediaParseAsync(__arg0); | |
} | |
/// <summary>Return true is the media descriptor object is parsed</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <returns>true if media object has been parsed otherwise it returns false</returns> | |
/// <remarks> | |
/// <para>This can return true in case of failure.</para> | |
/// <para>Use libvlc_media_get_parsed_status() instead</para> | |
/// <para>libvlc_MediaParsedChanged</para> | |
/// </remarks> | |
public static int LibvlcMediaIsParsed(global::libvlcpp.LibvlcMediaT p_md) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __ret = __Internal.LibvlcMediaIsParsed(__arg0); | |
return __ret; | |
} | |
/// <summary>Get media descriptor's elementary streams description</summary> | |
/// <param name="p_md">media descriptor object</param> | |
/// <param name="tracks"> | |
/// <para>address to store an allocated array of Elementary Streams</para> | |
/// <para>descriptions (must be freed by the caller) [OUT]</para> | |
/// </param> | |
/// <returns>the number of Elementary Streams</returns> | |
/// <remarks> | |
/// <para>Note, you need to call libvlc_media_parse() or play the media at least once</para> | |
/// <para>before calling this function.</para> | |
/// <para>Not doing this will result in an empty array.</para> | |
/// <para>Use libvlc_media_tracks_get() instead</para> | |
/// </remarks> | |
public static int LibvlcMediaGetTracksInfo(global::libvlcpp.LibvlcMediaT p_md, global::libvlcpp.LibvlcMediaTrackInfoT tracks) | |
{ | |
var __arg0 = ReferenceEquals(p_md, null) ? global::System.IntPtr.Zero : p_md.__Instance; | |
var __arg1 = ReferenceEquals(tracks, null) ? global::System.IntPtr.Zero : tracks.__Instance; | |
var __ret = __Internal.LibvlcMediaGetTracksInfo(__arg0, __arg1); | |
return __ret; | |
} | |
/// <summary>@{</summary> | |
public static int LibvlcMediaListAddFileContent(global::libvlcpp.LibvlcMediaListT p_ml, string psz_uri) | |
{ | |
var __arg0 = ReferenceEquals(p_ml, null) ? global::System.IntPtr.Zero : p_ml.__Instance; | |
var __ret = __Internal.LibvlcMediaListAddFileContent(__arg0, psz_uri); | |
return __ret; | |
} | |
/// <remarks>Use libvlc_media_discoverer_new() and libvlc_media_discoverer_start().</remarks> | |
public static global::libvlcpp.LibvlcMediaDiscovererT LibvlcMediaDiscovererNewFromName(global::libvlcpp.LibvlcInstanceT p_inst, string psz_name) | |
{ | |
var __arg0 = ReferenceEquals(p_inst, null) ? global::System.IntPtr.Zero : p_inst.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererNewFromName(__arg0, psz_name); | |
global::libvlcpp.LibvlcMediaDiscovererT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcMediaDiscovererT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcMediaDiscovererT) global::libvlcpp.LibvlcMediaDiscovererT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcMediaDiscovererT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Get media service discover object its localized name.</summary> | |
/// <param name="p_mdis">media discover object</param> | |
/// <returns>localized name or NULL if the media_discoverer is not started</returns> | |
/// <remarks> | |
/// <para>Useless, use libvlc_media_discoverer_list_get() to get the</para> | |
/// <para>longname of the service discovery.</para> | |
/// </remarks> | |
public static sbyte* LibvlcMediaDiscovererLocalizedName(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererLocalizedName(__arg0); | |
return __ret; | |
} | |
/// <summary>Get event manager from media service discover object.</summary> | |
/// <param name="p_mdis">media service discover object</param> | |
/// <returns>event manager object.</returns> | |
/// <remarks> | |
/// <para>Useless, media_discoverer events are only triggered when calling</para> | |
/// <para>libvlc_media_discoverer_start() and libvlc_media_discoverer_stop().</para> | |
/// </remarks> | |
public static global::libvlcpp.LibvlcEventManagerT LibvlcMediaDiscovererEventManager(global::libvlcpp.LibvlcMediaDiscovererT p_mdis) | |
{ | |
var __arg0 = ReferenceEquals(p_mdis, null) ? global::System.IntPtr.Zero : p_mdis.__Instance; | |
var __ret = __Internal.LibvlcMediaDiscovererEventManager(__arg0); | |
global::libvlcpp.LibvlcEventManagerT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcEventManagerT) global::libvlcpp.LibvlcEventManagerT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcEventManagerT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary> | |
/// <para>Waits until an interface causes the instance to exit.</para> | |
/// <para>You should start at least one interface first, using libvlc_add_intf().</para> | |
/// </summary> | |
/// <param name="p_instance">the instance</param> | |
/// <remarks> | |
/// <para>This function wastes one thread doing basically nothing.</para> | |
/// <para>libvlc_set_exit_handler() should be used instead.</para> | |
/// </remarks> | |
public static void LibvlcWait(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcWait(__arg0); | |
} | |
/// <summary> | |
/// <para>Always returns minus one.</para> | |
/// <para>This function is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_instance">ignored</param> | |
/// <returns>always -1</returns> | |
public static uint LibvlcGetLogVerbosity(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcGetLogVerbosity(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>This function does nothing.</para> | |
/// <para>It is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_instance">ignored</param> | |
/// <param name="level">ignored</param> | |
public static void LibvlcSetLogVerbosity(global::libvlcpp.LibvlcInstanceT p_instance, uint level) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcSetLogVerbosity(__arg0, level); | |
} | |
/// <summary> | |
/// <para>This function does nothing useful.</para> | |
/// <para>It is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_instance">libvlc instance</param> | |
/// <returns>an unique pointer or NULL on error</returns> | |
public static global::libvlcpp.VlcLogT LibvlcLogOpen(global::libvlcpp.LibvlcInstanceT p_instance) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
var __ret = __Internal.LibvlcLogOpen(__arg0); | |
global::libvlcpp.VlcLogT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.VlcLogT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.VlcLogT) global::libvlcpp.VlcLogT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.VlcLogT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Frees memory allocated by libvlc_log_open().</summary> | |
/// <param name="p_log">libvlc log instance or NULL</param> | |
public static void LibvlcLogClose(global::libvlcpp.VlcLogT p_log) | |
{ | |
var __arg0 = ReferenceEquals(p_log, null) ? global::System.IntPtr.Zero : p_log.__Instance; | |
__Internal.LibvlcLogClose(__arg0); | |
} | |
/// <summary> | |
/// <para>Always returns zero.</para> | |
/// <para>This function is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_log">ignored</param> | |
/// <returns>always zero</returns> | |
public static uint LibvlcLogCount(global::libvlcpp.VlcLogT p_log) | |
{ | |
var __arg0 = ReferenceEquals(p_log, null) ? global::System.IntPtr.Zero : p_log.__Instance; | |
var __ret = __Internal.LibvlcLogCount(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>This function does nothing.</para> | |
/// <para>It is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_log">ignored</param> | |
public static void LibvlcLogClear(global::libvlcpp.VlcLogT p_log) | |
{ | |
var __arg0 = ReferenceEquals(p_log, null) ? global::System.IntPtr.Zero : p_log.__Instance; | |
__Internal.LibvlcLogClear(__arg0); | |
} | |
/// <summary> | |
/// <para>This function does nothing useful.</para> | |
/// <para>It is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_log">ignored</param> | |
/// <returns>an unique pointer or NULL on error or if the parameter was NULL</returns> | |
public static global::libvlcpp.LibvlcLogIteratorT LibvlcLogGetIterator(global::libvlcpp.VlcLogT p_log) | |
{ | |
var __arg0 = ReferenceEquals(p_log, null) ? global::System.IntPtr.Zero : p_log.__Instance; | |
var __ret = __Internal.LibvlcLogGetIterator(__arg0); | |
global::libvlcpp.LibvlcLogIteratorT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcLogIteratorT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcLogIteratorT) global::libvlcpp.LibvlcLogIteratorT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcLogIteratorT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Frees memory allocated by libvlc_log_get_iterator().</summary> | |
/// <param name="p_iter">libvlc log iterator or NULL</param> | |
public static void LibvlcLogIteratorFree(global::libvlcpp.LibvlcLogIteratorT p_iter) | |
{ | |
var __arg0 = ReferenceEquals(p_iter, null) ? global::System.IntPtr.Zero : p_iter.__Instance; | |
__Internal.LibvlcLogIteratorFree(__arg0); | |
} | |
/// <summary> | |
/// <para>Always returns zero.</para> | |
/// <para>This function is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_iter">ignored</param> | |
/// <returns>always zero</returns> | |
public static int LibvlcLogIteratorHasNext(global::libvlcpp.LibvlcLogIteratorT p_iter) | |
{ | |
var __arg0 = ReferenceEquals(p_iter, null) ? global::System.IntPtr.Zero : p_iter.__Instance; | |
var __ret = __Internal.LibvlcLogIteratorHasNext(__arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Always returns NULL.</para> | |
/// <para>This function is only provided for backward compatibility.</para> | |
/// </summary> | |
/// <param name="p_iter">libvlc log iterator or NULL</param> | |
/// <param name="p_buf">ignored</param> | |
/// <returns>always NULL</returns> | |
public static global::libvlcpp.LibvlcLogMessageT LibvlcLogIteratorNext(global::libvlcpp.LibvlcLogIteratorT p_iter, global::libvlcpp.LibvlcLogMessageT p_buf) | |
{ | |
var __arg0 = ReferenceEquals(p_iter, null) ? global::System.IntPtr.Zero : p_iter.__Instance; | |
var __arg1 = ReferenceEquals(p_buf, null) ? global::System.IntPtr.Zero : p_buf.__Instance; | |
var __ret = __Internal.LibvlcLogIteratorNext(__arg0, __arg1); | |
global::libvlcpp.LibvlcLogMessageT __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.LibvlcLogMessageT.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.LibvlcLogMessageT) global::libvlcpp.LibvlcLogMessageT.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.LibvlcLogMessageT.__CreateInstance(__ret); | |
return __result0; | |
} | |
/// <summary>Start playing (if there is any item in the playlist).</summary> | |
/// <param name="p_instance">the playlist instance</param> | |
/// <param name="i_id"> | |
/// <para>the item to play. If this is a negative number, the next</para> | |
/// <para>item will be selected. Otherwise, the item with the given ID will be</para> | |
/// <para>played</para> | |
/// </param> | |
/// <param name="i_options">the number of options to add to the item</param> | |
/// <param name="ppsz_options">the options to add to the item</param> | |
/// <remarks> | |
/// <para>Additionnal playlist item options can be specified for addition to the</para> | |
/// <para>item before it is played.</para> | |
/// </remarks> | |
public static void LibvlcPlaylistPlay(global::libvlcpp.LibvlcInstanceT p_instance, int i_id, int i_options, sbyte** ppsz_options) | |
{ | |
var __arg0 = ReferenceEquals(p_instance, null) ? global::System.IntPtr.Zero : p_instance.__Instance; | |
__Internal.LibvlcPlaylistPlay(__arg0, i_id, i_options, ppsz_options); | |
} | |
} | |
namespace VLC | |
{ | |
/// <summary>The ModuleDescription class describes a module</summary> | |
public unsafe partial class ModuleDescription : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 128)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.BasicString.__Internal m_name; | |
[FieldOffset(32)] | |
internal global::Std.BasicString.__Internal m_shortname; | |
[FieldOffset(64)] | |
internal global::Std.BasicString.__Internal m_longname; | |
[FieldOffset(96)] | |
internal global::Std.BasicString.__Internal m_help; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0ModuleDescription@VLC@@QEAA@PEAUlibvlc_module_description_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr c); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0ModuleDescription@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1ModuleDescription@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?help@ModuleDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Help(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?name@ModuleDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Name(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?shortname@ModuleDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Shortname(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?longname@ModuleDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Longname(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.ModuleDescription> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.ModuleDescription>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.ModuleDescription __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.ModuleDescription(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.ModuleDescription __CreateInstance(global::libvlcpp.VLC.ModuleDescription.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.ModuleDescription(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.ModuleDescription.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.ModuleDescription.__Internal)); | |
global::libvlcpp.VLC.ModuleDescription.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private ModuleDescription(global::libvlcpp.VLC.ModuleDescription.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected ModuleDescription(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public ModuleDescription(global::libvlcpp.LibvlcModuleDescriptionT c) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.ModuleDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(c, null) ? global::System.IntPtr.Zero : c.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public ModuleDescription(global::libvlcpp.VLC.ModuleDescription _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.ModuleDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.ModuleDescription __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
/// <summary>help Returns a basic help string for this module</summary> | |
public string Help() | |
{ | |
var __ret = __Internal.Help((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
public static explicit operator global::libvlcpp.VLC.ModuleDescription(global::libvlcpp.LibvlcModuleDescriptionT c) | |
{ | |
return new global::libvlcpp.VLC.ModuleDescription(c); | |
} | |
/// <summary>name Returns the module name</summary> | |
public string Name | |
{ | |
get | |
{ | |
var __ret = __Internal.Name((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
/// <summary>shortname Returns the module short name</summary> | |
public string Shortname | |
{ | |
get | |
{ | |
var __ret = __Internal.Shortname((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
/// <summary>longname returns the module long name</summary> | |
public string Longname | |
{ | |
get | |
{ | |
var __ret = __Internal.Longname((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
} | |
/// <summary>The MediaTrack class describes a track</summary> | |
public unsafe partial class MediaTrack : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 168)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal uint m_codec; | |
[FieldOffset(4)] | |
internal uint m_originalFourcc; | |
[FieldOffset(8)] | |
internal uint m_id; | |
[FieldOffset(12)] | |
internal global::libvlcpp.VLC.MediaTrack.Type m_type; | |
[FieldOffset(16)] | |
internal int m_profile; | |
[FieldOffset(20)] | |
internal int m_level; | |
[FieldOffset(24)] | |
internal uint m_bitrate; | |
[FieldOffset(32)] | |
internal global::Std.BasicString.__Internal m_language; | |
[FieldOffset(64)] | |
internal global::Std.BasicString.__Internal m_description; | |
[FieldOffset(96)] | |
internal uint m_channels; | |
[FieldOffset(100)] | |
internal uint m_rate; | |
[FieldOffset(104)] | |
internal uint m_height; | |
[FieldOffset(108)] | |
internal uint m_width; | |
[FieldOffset(112)] | |
internal uint m_sarNum; | |
[FieldOffset(116)] | |
internal uint m_sarDen; | |
[FieldOffset(120)] | |
internal uint m_fpsNum; | |
[FieldOffset(124)] | |
internal uint m_fpsDen; | |
[FieldOffset(128)] | |
internal global::libvlcpp.VLC.MediaTrack.Orientation m_orientation; | |
[FieldOffset(132)] | |
internal global::libvlcpp.VLC.MediaTrack.Projection m_projection; | |
[FieldOffset(136)] | |
internal global::Std.BasicString.__Internal m_encoding; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaTrack@VLC@@QEAA@PEAUlibvlc_media_track_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr c); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaTrack@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaTrack@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?codec@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint Codec(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?originalFourCC@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint OriginalFourCC(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?id@MediaTrack@VLC@@QEBAHXZ")] | |
internal static extern int Id(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?type@MediaTrack@VLC@@QEBA?AW4Type@12@XZ")] | |
internal static extern global::libvlcpp.VLC.MediaTrack.Type type(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?profile@MediaTrack@VLC@@QEBAHXZ")] | |
internal static extern int Profile(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?level@MediaTrack@VLC@@QEBAHXZ")] | |
internal static extern int Level(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?bitrate@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint Bitrate(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?language@MediaTrack@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Language(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?description@MediaTrack@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Description(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?channels@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint Channels(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?rate@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint Rate(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?height@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint Height(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?width@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint Width(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?sarNum@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint SarNum(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?sarDen@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint SarDen(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?fpsNum@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint FpsNum(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?fpsDen@MediaTrack@VLC@@QEBAIXZ")] | |
internal static extern uint FpsDen(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?orientation@MediaTrack@VLC@@QEBA?AW4Orientation@12@XZ")] | |
internal static extern global::libvlcpp.VLC.MediaTrack.Orientation orientation(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?projection@MediaTrack@VLC@@QEBA?AW4Projection@12@XZ")] | |
internal static extern global::libvlcpp.VLC.MediaTrack.Projection projection(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?encoding@MediaTrack@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Encoding(global::System.IntPtr instance); | |
} | |
/// <summary>The Type enum indicates the type of a track</summary> | |
public enum Type | |
{ | |
Unknown = -1, | |
/// <summary>Audio track</summary> | |
Audio = 0, | |
/// <summary>Video track</summary> | |
Video = 1, | |
/// <summary>Subtitle track (also called SPU sometimes)</summary> | |
Subtitle = 2 | |
} | |
/// <summary>The Orientation enum indicates the orientation of a video</summary> | |
public enum Orientation | |
{ | |
TopLeft = 0, | |
TopRight = 1, | |
BottomLeft = 2, | |
BottomRight = 3, | |
LeftTop = 4, | |
LeftBottom = 5, | |
RightTop = 6, | |
RightBottom = 7 | |
} | |
/// <summary>The Projection enum indicates the projection of a video</summary> | |
[Flags] | |
public enum Projection | |
{ | |
Rectangular = 0, | |
/// <summary>360 spherical</summary> | |
Equirectangular = 1, | |
/// <summary>360 spherical</summary> | |
CubemapLayoutStandard = 256 | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaTrack> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaTrack>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.MediaTrack __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaTrack(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaTrack __CreateInstance(global::libvlcpp.VLC.MediaTrack.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaTrack(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaTrack.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaTrack.__Internal)); | |
global::libvlcpp.VLC.MediaTrack.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaTrack(global::libvlcpp.VLC.MediaTrack.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaTrack(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public MediaTrack(global::libvlcpp.LibvlcMediaTrackT c) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaTrack.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(c, null) ? global::System.IntPtr.Zero : c.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public MediaTrack(global::libvlcpp.VLC.MediaTrack _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaTrack.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.MediaTrack __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static explicit operator global::libvlcpp.VLC.MediaTrack(global::libvlcpp.LibvlcMediaTrackT c) | |
{ | |
return new global::libvlcpp.VLC.MediaTrack(c); | |
} | |
public static global::libvlcpp.VLC.MediaTrack.Type Unknown | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.MediaTrack.Type*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?Unknown@MediaTrack@VLC@@2W4Type@12@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.VLC.MediaTrack.Type Audio | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.MediaTrack.Type*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?Audio@MediaTrack@VLC@@2W4Type@12@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.VLC.MediaTrack.Type Video | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.MediaTrack.Type*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?Video@MediaTrack@VLC@@2W4Type@12@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.VLC.MediaTrack.Type Subtitle | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.MediaTrack.Type*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?Subtitle@MediaTrack@VLC@@2W4Type@12@B"); | |
return *__ptr; | |
} | |
} | |
/// <summary>codec Returns the codec as a fourcc</summary> | |
/// <remarks> | |
/// <para>This is the fourcc will use to select a codec, but it might be an</para> | |
/// <para>interpretation of the original fourcc.</para> | |
/// <para>originalFourCC()</para> | |
/// </remarks> | |
public uint Codec | |
{ | |
get | |
{ | |
var __ret = __Internal.Codec((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>originalFourCC Returns the fourcc as found in the file.</summary> | |
/// <remarks> | |
/// <para>VLC might chose to use a different fourcc internally.</para> | |
/// <para>For instance, AVC1&H264 fourcc are (almost?) identical. VLC would</para> | |
/// <para>use H264 as the codec/fourcc, and store AVC1/H264 as the original fourcc</para> | |
/// </remarks> | |
public uint OriginalFourCC | |
{ | |
get | |
{ | |
var __ret = __Internal.OriginalFourCC((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>id The track internal ID.</summary> | |
/// <remarks>This can't be assume to grow one by one monotonically.</remarks> | |
public int Id | |
{ | |
get | |
{ | |
var __ret = __Internal.Id((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>type The track type</summary> | |
/// <remarks>MediaTrack::Type</remarks> | |
public global::libvlcpp.VLC.MediaTrack.Type type | |
{ | |
get | |
{ | |
var __ret = __Internal.type((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>profile This track profile</summary> | |
/// <remarks>This might or might not be set, depending on the codec.</remarks> | |
public int Profile | |
{ | |
get | |
{ | |
var __ret = __Internal.Profile((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>level This track level</summary> | |
/// <remarks>This might or might not be set, depending on the codec</remarks> | |
public int Level | |
{ | |
get | |
{ | |
var __ret = __Internal.Level((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>bitrate This track bitrate, in bytes per second</summary> | |
public uint Bitrate | |
{ | |
get | |
{ | |
var __ret = __Internal.Bitrate((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>language This track language, if available.</summary> | |
public string Language | |
{ | |
get | |
{ | |
var __ret = __Internal.Language((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
/// <summary>description This track description</summary> | |
public string Description | |
{ | |
get | |
{ | |
var __ret = __Internal.Description((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
/// <summary>channels This track number of channels</summary> | |
public uint Channels | |
{ | |
get | |
{ | |
var __ret = __Internal.Channels((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>rate This track samplerate, in hertz (Hz)</summary> | |
public uint Rate | |
{ | |
get | |
{ | |
var __ret = __Internal.Rate((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>height This track video height</summary> | |
public uint Height | |
{ | |
get | |
{ | |
var __ret = __Internal.Height((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>width This track video width</summary> | |
public uint Width | |
{ | |
get | |
{ | |
var __ret = __Internal.Width((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>sarNum This track aspect ratio numerator</summary> | |
/// <remarks>sarDen</remarks> | |
public uint SarNum | |
{ | |
get | |
{ | |
var __ret = __Internal.SarNum((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>sarDen This track aspect ratio denominator</summary> | |
/// <remarks>sarNum</remarks> | |
public uint SarDen | |
{ | |
get | |
{ | |
var __ret = __Internal.SarDen((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>fpsNum This track frame per second numerator</summary> | |
/// <remarks>fpsDen</remarks> | |
public uint FpsNum | |
{ | |
get | |
{ | |
var __ret = __Internal.FpsNum((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>fpsDen This track frame per second denominator</summary> | |
/// <remarks>fpsNum</remarks> | |
public uint FpsDen | |
{ | |
get | |
{ | |
var __ret = __Internal.FpsDen((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>Orientation</summary> | |
/// <remarks>orientation</remarks> | |
public global::libvlcpp.VLC.MediaTrack.Orientation orientation | |
{ | |
get | |
{ | |
var __ret = __Internal.orientation((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>Projection</summary> | |
/// <remarks>projection</remarks> | |
public global::libvlcpp.VLC.MediaTrack.Projection projection | |
{ | |
get | |
{ | |
var __ret = __Internal.projection((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>encoding Subtitles text encoding</summary> | |
public string Encoding | |
{ | |
get | |
{ | |
var __ret = __Internal.Encoding((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
} | |
/// <summary>The AudioOutputDescription class describes an audio output module</summary> | |
public unsafe partial class AudioOutputDescription : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 64)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.BasicString.__Internal m_name; | |
[FieldOffset(32)] | |
internal global::Std.BasicString.__Internal m_description; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0AudioOutputDescription@VLC@@QEAA@PEAUlibvlc_audio_output_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr c); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0AudioOutputDescription@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1AudioOutputDescription@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?name@AudioOutputDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Name(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?description@AudioOutputDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Description(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.AudioOutputDescription> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.AudioOutputDescription>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.AudioOutputDescription __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.AudioOutputDescription(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.AudioOutputDescription __CreateInstance(global::libvlcpp.VLC.AudioOutputDescription.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.AudioOutputDescription(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.AudioOutputDescription.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.AudioOutputDescription.__Internal)); | |
global::libvlcpp.VLC.AudioOutputDescription.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private AudioOutputDescription(global::libvlcpp.VLC.AudioOutputDescription.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected AudioOutputDescription(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public AudioOutputDescription(global::libvlcpp.LibvlcAudioOutputT c) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.AudioOutputDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(c, null) ? global::System.IntPtr.Zero : c.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public AudioOutputDescription(global::libvlcpp.VLC.AudioOutputDescription _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.AudioOutputDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.AudioOutputDescription __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static explicit operator global::libvlcpp.VLC.AudioOutputDescription(global::libvlcpp.LibvlcAudioOutputT c) | |
{ | |
return new global::libvlcpp.VLC.AudioOutputDescription(c); | |
} | |
/// <summary>name The module name</summary> | |
public string Name | |
{ | |
get | |
{ | |
var __ret = __Internal.Name((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
/// <summary>description The module description</summary> | |
public string Description | |
{ | |
get | |
{ | |
var __ret = __Internal.Description((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
} | |
/// <summary> | |
/// <para>The AudioOutputDeviceDescription class describes an audio device, as seen</para> | |
/// <para>by an audio output module</para> | |
/// </summary> | |
public unsafe partial class AudioOutputDeviceDescription : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 64)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.BasicString.__Internal m_device; | |
[FieldOffset(32)] | |
internal global::Std.BasicString.__Internal m_description; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0AudioOutputDeviceDescription@VLC@@QEAA@PEAUlibvlc_audio_output_device_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr d); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0AudioOutputDeviceDescription@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1AudioOutputDeviceDescription@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?device@AudioOutputDeviceDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Device(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?description@AudioOutputDeviceDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Description(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.AudioOutputDeviceDescription> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.AudioOutputDeviceDescription>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.AudioOutputDeviceDescription __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.AudioOutputDeviceDescription(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.AudioOutputDeviceDescription __CreateInstance(global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.AudioOutputDeviceDescription(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal)); | |
global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private AudioOutputDeviceDescription(global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected AudioOutputDeviceDescription(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public AudioOutputDeviceDescription(global::libvlcpp.LibvlcAudioOutputDeviceT d) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(d, null) ? global::System.IntPtr.Zero : d.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public AudioOutputDeviceDescription(global::libvlcpp.VLC.AudioOutputDeviceDescription _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.AudioOutputDeviceDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.AudioOutputDeviceDescription __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static explicit operator global::libvlcpp.VLC.AudioOutputDeviceDescription(global::libvlcpp.LibvlcAudioOutputDeviceT d) | |
{ | |
return new global::libvlcpp.VLC.AudioOutputDeviceDescription(d); | |
} | |
public string Device | |
{ | |
get | |
{ | |
var __ret = __Internal.Device((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
public string Description | |
{ | |
get | |
{ | |
var __ret = __Internal.Description((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
} | |
/// <summary>The TrackDescription class describes a track</summary> | |
public unsafe partial class TrackDescription : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal int m_id; | |
[FieldOffset(8)] | |
internal global::Std.BasicString.__Internal m_name; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0TrackDescription@VLC@@QEAA@PEAUlibvlc_track_description_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr c); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0TrackDescription@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1TrackDescription@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?id@TrackDescription@VLC@@QEBAHXZ")] | |
internal static extern int Id(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?name@TrackDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Name(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.TrackDescription> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.TrackDescription>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.TrackDescription __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.TrackDescription(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.TrackDescription __CreateInstance(global::libvlcpp.VLC.TrackDescription.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.TrackDescription(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.TrackDescription.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.TrackDescription.__Internal)); | |
global::libvlcpp.VLC.TrackDescription.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private TrackDescription(global::libvlcpp.VLC.TrackDescription.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected TrackDescription(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public TrackDescription(global::libvlcpp.LibvlcTrackDescriptionT c) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.TrackDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(c, null) ? global::System.IntPtr.Zero : c.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public TrackDescription(global::libvlcpp.VLC.TrackDescription _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.TrackDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.TrackDescription __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static explicit operator global::libvlcpp.VLC.TrackDescription(global::libvlcpp.LibvlcTrackDescriptionT c) | |
{ | |
return new global::libvlcpp.VLC.TrackDescription(c); | |
} | |
/// <summary>id The track id</summary> | |
public int Id | |
{ | |
get | |
{ | |
var __ret = __Internal.Id((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>name The track name</summary> | |
public string Name | |
{ | |
get | |
{ | |
var __ret = __Internal.Name((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
} | |
/// <summary>The TitleDescription class describes a title</summary> | |
public unsafe partial class TitleDescription : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long m_duration; | |
[FieldOffset(8)] | |
internal global::Std.BasicString.__Internal m_name; | |
[FieldOffset(40)] | |
internal int m_flags; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0TitleDescription@VLC@@QEAA@PEAUlibvlc_title_description_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr c); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0TitleDescription@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1TitleDescription@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?duration@TitleDescription@VLC@@QEBA_JXZ")] | |
internal static extern long Duration(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?name@TitleDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Name(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isMenu@TitleDescription@VLC@@QEBA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsMenu(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isInteractive@TitleDescription@VLC@@QEBA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsInteractive(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.TitleDescription> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.TitleDescription>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.TitleDescription __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.TitleDescription(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.TitleDescription __CreateInstance(global::libvlcpp.VLC.TitleDescription.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.TitleDescription(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.TitleDescription.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.TitleDescription.__Internal)); | |
global::libvlcpp.VLC.TitleDescription.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private TitleDescription(global::libvlcpp.VLC.TitleDescription.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected TitleDescription(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public TitleDescription(global::libvlcpp.LibvlcTitleDescriptionT c) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.TitleDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(c, null) ? global::System.IntPtr.Zero : c.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public TitleDescription(global::libvlcpp.VLC.TitleDescription _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.TitleDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.TitleDescription __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static explicit operator global::libvlcpp.VLC.TitleDescription(global::libvlcpp.LibvlcTitleDescriptionT c) | |
{ | |
return new global::libvlcpp.VLC.TitleDescription(c); | |
} | |
/// <summary>duration The title duration in (ms)</summary> | |
public long Duration | |
{ | |
get | |
{ | |
var __ret = __Internal.Duration((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>name The title name</summary> | |
public string Name | |
{ | |
get | |
{ | |
var __ret = __Internal.Name((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
/// <summary>name Is the title a menu?</summary> | |
public bool IsMenu | |
{ | |
get | |
{ | |
var __ret = __Internal.IsMenu((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
public bool IsInteractive | |
{ | |
get | |
{ | |
var __ret = __Internal.IsInteractive((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
} | |
/// <summary>The ChapterDescription class describes a chapter</summary> | |
public unsafe partial class ChapterDescription : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal long m_duration; | |
[FieldOffset(8)] | |
internal long m_starttime; | |
[FieldOffset(16)] | |
internal global::Std.BasicString.__Internal m_name; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0ChapterDescription@VLC@@QEAA@PEAUlibvlc_chapter_description_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr c); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0ChapterDescription@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1ChapterDescription@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?starttime@ChapterDescription@VLC@@QEBA_JXZ")] | |
internal static extern long Starttime(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?duration@ChapterDescription@VLC@@QEBA_JXZ")] | |
internal static extern long Duration(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?name@ChapterDescription@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Name(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.ChapterDescription> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.ChapterDescription>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.ChapterDescription __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.ChapterDescription(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.ChapterDescription __CreateInstance(global::libvlcpp.VLC.ChapterDescription.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.ChapterDescription(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.ChapterDescription.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.ChapterDescription.__Internal)); | |
global::libvlcpp.VLC.ChapterDescription.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private ChapterDescription(global::libvlcpp.VLC.ChapterDescription.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected ChapterDescription(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public ChapterDescription(global::libvlcpp.LibvlcChapterDescriptionT c) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.ChapterDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(c, null) ? global::System.IntPtr.Zero : c.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public ChapterDescription(global::libvlcpp.VLC.ChapterDescription _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.ChapterDescription.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.ChapterDescription __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static explicit operator global::libvlcpp.VLC.ChapterDescription(global::libvlcpp.LibvlcChapterDescriptionT c) | |
{ | |
return new global::libvlcpp.VLC.ChapterDescription(c); | |
} | |
/// <summary>timeoffset The chapter start time in (ms)</summary> | |
public long Starttime | |
{ | |
get | |
{ | |
var __ret = __Internal.Starttime((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>duration The chapter duration in (ms)</summary> | |
public long Duration | |
{ | |
get | |
{ | |
var __ret = __Internal.Duration((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>name The chapter name</summary> | |
public string Name | |
{ | |
get | |
{ | |
var __ret = __Internal.Name((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
} | |
/// <summary>C++ Type wrapper for libvlc_media_slave_t</summary> | |
public unsafe partial class MediaSlave : global::libvlcpp.LibvlcMediaSlaveT, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr psz_uri; | |
[FieldOffset(8)] | |
internal global::libvlcpp.LibvlcMediaSlaveTypeT i_type; | |
[FieldOffset(12)] | |
internal uint i_priority; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaSlave@VLC@@QEAA@PEAUlibvlc_media_slave_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr other); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaSlave@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?type@MediaSlave@VLC@@QEBA?AW4Type@12@XZ")] | |
internal static extern global::libvlcpp.VLC.MediaSlave.Type type(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?priority@MediaSlave@VLC@@QEBAIXZ")] | |
internal static extern uint Priority(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?uri@MediaSlave@VLC@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern void Uri(global::System.IntPtr instance, global::System.IntPtr @return); | |
} | |
/// <summary>Type of a media slave: subtitle or audio.</summary> | |
public enum Type | |
{ | |
Subtitle = 0, | |
Audio = 1 | |
} | |
internal static new global::libvlcpp.VLC.MediaSlave __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaSlave(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaSlave __CreateInstance(global::libvlcpp.VLC.MediaSlave.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaSlave(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaSlave.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaSlave.__Internal)); | |
*(global::libvlcpp.VLC.MediaSlave.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private MediaSlave(global::libvlcpp.VLC.MediaSlave.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaSlave(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public MediaSlave(global::libvlcpp.LibvlcMediaSlaveT other) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaSlave.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __arg0 = ReferenceEquals(other, null) ? global::System.IntPtr.Zero : other.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public MediaSlave(global::libvlcpp.VLC.MediaSlave _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaSlave.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.VLC.MediaSlave.__Internal*) __Instance) = *((global::libvlcpp.VLC.MediaSlave.__Internal*) _0.__Instance); | |
} | |
public global::libvlcpp.VLC.MediaSlave.Type type | |
{ | |
get | |
{ | |
var __ret = __Internal.type((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
public uint Priority | |
{ | |
get | |
{ | |
var __ret = __Internal.Priority((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
public string Uri | |
{ | |
get | |
{ | |
var __ret = new global::Std.BasicString.__Internal(); | |
__Internal.Uri((__Instance + __PointerAdjustment), new IntPtr(&__ret)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
var __stringRet = global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
__basicStringRet.Dispose(false); | |
return __stringRet; | |
} | |
} | |
} | |
/// <summary>C++ Type wrapper for libvlc_video_viewpoint_t</summary> | |
public unsafe partial class VideoViewpoint : global::libvlcpp.LibvlcVideoViewpointT, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal float f_yaw; | |
[FieldOffset(4)] | |
internal float f_pitch; | |
[FieldOffset(8)] | |
internal float f_roll; | |
[FieldOffset(12)] | |
internal float f_field_of_view; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0VideoViewpoint@VLC@@QEAA@MMMM@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, float yaw, float pitch, float roll, float fieldOfView); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0VideoViewpoint@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?yaw@VideoViewpoint@VLC@@QEBAMXZ")] | |
internal static extern float Yaw(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?pitch@VideoViewpoint@VLC@@QEBAMXZ")] | |
internal static extern float Pitch(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?roll@VideoViewpoint@VLC@@QEBAMXZ")] | |
internal static extern float Roll(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?field_of_view@VideoViewpoint@VLC@@QEBAMXZ")] | |
internal static extern float FieldOfView(global::System.IntPtr instance); | |
} | |
internal static new global::libvlcpp.VLC.VideoViewpoint __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.VideoViewpoint(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.VideoViewpoint __CreateInstance(global::libvlcpp.VLC.VideoViewpoint.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.VideoViewpoint(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.VideoViewpoint.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VideoViewpoint.__Internal)); | |
*(global::libvlcpp.VLC.VideoViewpoint.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private VideoViewpoint(global::libvlcpp.VLC.VideoViewpoint.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected VideoViewpoint(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public VideoViewpoint(float yaw, float pitch, float roll, float fieldOfView) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VideoViewpoint.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance + __PointerAdjustment), yaw, pitch, roll, fieldOfView); | |
} | |
public VideoViewpoint(global::libvlcpp.VLC.VideoViewpoint _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VideoViewpoint.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
*((global::libvlcpp.VLC.VideoViewpoint.__Internal*) __Instance) = *((global::libvlcpp.VLC.VideoViewpoint.__Internal*) _0.__Instance); | |
} | |
public float Yaw | |
{ | |
get | |
{ | |
var __ret = __Internal.Yaw((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
public float Pitch | |
{ | |
get | |
{ | |
var __ret = __Internal.Pitch((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
public float Roll | |
{ | |
get | |
{ | |
var __ret = __Internal.Roll((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
public float FieldOfView | |
{ | |
get | |
{ | |
var __ret = __Internal.FieldOfView((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
/// <summary>The Dialog class exposes libvlc_dialog_id functionalities</summary> | |
public unsafe partial class Dialog : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 8)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::System.IntPtr m_id; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1Dialog@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?postLogin@Dialog@VLC@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0_N@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool PostLogin(global::System.IntPtr instance, global::System.IntPtr username, global::System.IntPtr password, bool store); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?postAction@Dialog@VLC@@QEAA_NH@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool PostAction(global::System.IntPtr instance, int actionIndex); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?dismiss@Dialog@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Dismiss(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.Dialog> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.Dialog>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.Dialog __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.Dialog(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.Dialog __CreateInstance(global::libvlcpp.VLC.Dialog.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.Dialog(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.Dialog.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Dialog.__Internal)); | |
*(global::libvlcpp.VLC.Dialog.__Internal*) ret = native; | |
return ret.ToPointer(); | |
} | |
private Dialog(global::libvlcpp.VLC.Dialog.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected Dialog(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.Dialog __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
/// <summary>Post a login answer.</summary> | |
/// <param name="username">valid non-empty string</param> | |
/// <param name="password">valid string</param> | |
/// <param name="store">if true stores the credentials</param> | |
/// <returns>true if success, false otherwise</returns> | |
/// <remarks>After this call, the instance won't be valid anymore</remarks> | |
public bool PostLogin(string username, string password, bool store) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(username, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(password, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
var __ret = __Internal.PostLogin((__Instance + __PointerAdjustment), __arg0, __arg1, store); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
return __ret; | |
} | |
/// <summary>Post a question answer.</summary> | |
/// <param name="actionIndex">1 for action1, 2 for action2</param> | |
/// <returns>true on success, false otherwise</returns> | |
/// <remarks> | |
/// <para>After this call, this instance won't be valid anymore</para> | |
/// <para>QuestionCb</para> | |
/// </remarks> | |
public bool PostAction(int actionIndex) | |
{ | |
var __ret = __Internal.PostAction((__Instance + __PointerAdjustment), actionIndex); | |
return __ret; | |
} | |
/// <summary>Dismiss a dialog.</summary> | |
/// <remarks> | |
/// <para>After this call, this instance won't be valid anymore</para> | |
/// <para>CancelCb</para> | |
/// </remarks> | |
public bool Dismiss() | |
{ | |
var __ret = __Internal.Dismiss((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class MediaDiscoverer : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 32)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.SharedPtr.__Internal m_mediaList; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaDiscoverer@VLC@@QEAA@AEAVInstance@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr inst, global::System.IntPtr name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaDiscoverer@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaDiscoverer@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?start@MediaDiscoverer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Start(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?stop@MediaDiscoverer@VLC@@QEAAXXZ")] | |
internal static extern void Stop(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isRunning@MediaDiscoverer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsRunning(global::System.IntPtr instance); | |
} | |
public enum Category | |
{ | |
Devices = 0, | |
Lan = 1, | |
Podcasts = 2, | |
Localdirs = 3 | |
} | |
public unsafe partial class Description : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 72)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.BasicString.__Internal m_name; | |
[FieldOffset(32)] | |
internal global::Std.BasicString.__Internal m_longName; | |
[FieldOffset(64)] | |
internal global::libvlcpp.VLC.MediaDiscoverer.Category m_category; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Description@MediaDiscoverer@VLC@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0W4libvlc_media_discoverer_category_t@@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr name, global::System.IntPtr longName, global::libvlcpp.LibvlcMediaDiscovererCategoryT cat); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Description@MediaDiscoverer@VLC@@QEAA@AEBV012@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1Description@MediaDiscoverer@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?name@Description@MediaDiscoverer@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr Name(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?longName@Description@MediaDiscoverer@VLC@@QEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern global::System.IntPtr LongName(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?category@Description@MediaDiscoverer@VLC@@QEBA?AW4Category@23@XZ")] | |
internal static extern global::libvlcpp.VLC.MediaDiscoverer.Category Category(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaDiscoverer.Description> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaDiscoverer.Description>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.MediaDiscoverer.Description __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaDiscoverer.Description(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaDiscoverer.Description __CreateInstance(global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaDiscoverer.Description(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal)); | |
global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private Description(global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected Description(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public Description(string name, string longName, global::libvlcpp.LibvlcMediaDiscovererCategoryT cat) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(name, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(longName, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, cat); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
public Description(global::libvlcpp.VLC.MediaDiscoverer.Description _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaDiscoverer.Description.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.MediaDiscoverer.Description __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public string Name | |
{ | |
get | |
{ | |
var __ret = __Internal.Name((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
public string LongName | |
{ | |
get | |
{ | |
var __ret = __Internal.LongName((__Instance + __PointerAdjustment)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
return global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
} | |
} | |
public global::libvlcpp.VLC.MediaDiscoverer.Category Category | |
{ | |
get | |
{ | |
var __ret = __Internal.Category((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaDiscoverer> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaDiscoverer>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.MediaDiscoverer __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaDiscoverer(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaDiscoverer __CreateInstance(global::libvlcpp.VLC.MediaDiscoverer.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaDiscoverer(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaDiscoverer.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaDiscoverer.__Internal)); | |
global::libvlcpp.VLC.MediaDiscoverer.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaDiscoverer(global::libvlcpp.VLC.MediaDiscoverer.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaDiscoverer(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary>Discover media service by name.</summary> | |
/// <param name="p_inst">libvlc instance</param> | |
/// <param name="psz_name">service name</param> | |
public MediaDiscoverer(global::libvlcpp.VLC.Instance inst, string name) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaDiscoverer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(inst, null)) | |
throw new global::System.ArgumentNullException("inst", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = inst.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(name, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
public MediaDiscoverer(global::libvlcpp.VLC.MediaDiscoverer _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaDiscoverer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.MediaDiscoverer __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
/// <summary>Start media discovery.</summary> | |
/// <returns>false in case of error, true otherwise</returns> | |
/// <remarks> | |
/// <para>To stop it, call MediaDiscover::stop() or</para> | |
/// <para>destroy the object directly.</para> | |
/// <para>MediaDiscover::stop</para> | |
/// </remarks> | |
public bool Start() | |
{ | |
var __ret = __Internal.Start((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
/// <summary>Stop media discovery.</summary> | |
/// <remarks>MediaDiscoverer::start()</remarks> | |
public void Stop() | |
{ | |
__Internal.Stop((__Instance + __PointerAdjustment)); | |
} | |
/// <summary>Query if media service discover object is running.</summary> | |
/// <returns>true if running, false if not</returns> | |
public bool IsRunning | |
{ | |
get | |
{ | |
var __ret = __Internal.IsRunning((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class Instance : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_callbacks; | |
[FieldOffset(16)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(32)] | |
internal global::Std.SharedPtr.__Internal m_callbacks_pointers; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Instance@VLC@@QEAA@HPEBQEBD@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, int argc, sbyte** argv); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Instance@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Instance@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1Instance@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??8Instance@VLC@@QEBA_NAEBV01@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool OperatorEqualEqual(global::System.IntPtr instance, global::System.IntPtr another); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?addIntf@Instance@VLC@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool AddIntf(global::System.IntPtr instance, global::System.IntPtr name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setUserAgent@Instance@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z")] | |
internal static extern void SetUserAgent(global::System.IntPtr instance, global::System.IntPtr name, global::System.IntPtr http); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAppId@Instance@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00@Z")] | |
internal static extern void SetAppId(global::System.IntPtr instance, global::System.IntPtr id, global::System.IntPtr version, global::System.IntPtr icon); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?logUnset@Instance@VLC@@QEAAXXZ")] | |
internal static extern void LogUnset(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?logSetFile@Instance@VLC@@QEAAXPEAU_iobuf@@@Z")] | |
internal static extern void LogSetFile(global::System.IntPtr instance, global::System.IntPtr stream); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?unsetDialogHandlers@Instance@VLC@@QEAAXXZ")] | |
internal static extern void UnsetDialogHandlers(global::System.IntPtr instance); | |
} | |
internal enum CallbackIdx : uint | |
{ | |
Exit = 0, | |
Log = 1, | |
ErrorDisplay = 2, | |
LoginDisplay = 3, | |
QuestionDisplay = 4, | |
ProgressDisplay = 5, | |
CancelDialog = 6, | |
ProgressUpdate = 7 | |
} | |
/// <summary>Called when an error message needs to be displayed.</summary> | |
/// <param name="title">title of the dialog</param> | |
/// <param name="text">text of the dialog</param> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void ErrorCb(global::System.IntPtr title, global::System.IntPtr text); | |
/// <summary>Called when a login dialog needs to be displayed.</summary> | |
/// <param name="dialog">used to interact with the dialog</param> | |
/// <param name="title">title of the dialog</param> | |
/// <param name="text">text of the dialog</param> | |
/// <param name="defaultUserName">user name that should be set on the user form</param> | |
/// <param name="askToStore">if true, ask the user if he wants to save the credentials</param> | |
/// <remarks> | |
/// <para>You can interact with this dialog by using the postLogin method on dialog to post an answer or the dismiss method to cancel this dialog.</para> | |
/// <para>to receive this callack, CancelCb should not be NULL.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void LoginCb(global::System.IntPtr dialog, global::System.IntPtr title, global::System.IntPtr text, global::System.IntPtr defaultUserName, [MarshalAs(UnmanagedType.I1)] bool askToStore); | |
/// <summary>Called when a question dialog needs to be displayed</summary> | |
/// <param name="dialog">used to interact with the dialog</param> | |
/// <param name="title">title of the diaog</param> | |
/// <param name="text">text of the dialog</param> | |
/// <param name="qtype">question type (or severity) of the dialog</param> | |
/// <param name="cancel">text of the cancel button</param> | |
/// <param name="action1"> | |
/// <para>text of the first button, if NULL, don't display this</para> | |
/// <para>button</para> | |
/// </param> | |
/// <param name="action2"> | |
/// <para>text of the second button, if NULL, don't display</para> | |
/// <para>this button</para> | |
/// </param> | |
/// <remarks> | |
/// <para>You can interact with this dialog by using the postAction method on dialog</para> | |
/// <para>to post an answer or dismiss method to cancel this dialog.</para> | |
/// <para>to receive this callack, CancelCb should not be</para> | |
/// <para>NULL.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void QuestionCb(global::System.IntPtr dialog, global::System.IntPtr title, global::System.IntPtr text, global::libvlcpp.LibvlcDialogQuestionType qType, global::System.IntPtr cancel, global::System.IntPtr action1, global::System.IntPtr action2); | |
/// <summary>Called when a progress dialog needs to be displayed</summary> | |
/// <param name="dialog">used to interact with the dialog</param> | |
/// <param name="title">title of the diaog</param> | |
/// <param name="text">text of the dialog</param> | |
/// <param name="indeterminate">true if the progress dialog is indeterminate</param> | |
/// <param name="position"> | |
/// <para>initial position of the progress bar (between 0.0 and</para> | |
/// <para>1.0)</para> | |
/// </param> | |
/// <param name="cancel"> | |
/// <para>text of the cancel button, if NULL the dialog is not</para> | |
/// <para>cancellable</para> | |
/// </param> | |
/// <remarks> | |
/// <para>If cancellable (cancel != NULL), you can cancel this dialog by</para> | |
/// <para>calling the dismiss method on dialog</para> | |
/// <para>to receive this callack, CancelCb and</para> | |
/// <para>UpdtProgressCb should not be NULL.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void DspProgressCb(global::System.IntPtr dialog, global::System.IntPtr title, global::System.IntPtr text, [MarshalAs(UnmanagedType.I1)] bool intermediate, float position, global::System.IntPtr cancel); | |
/// <summary>Called when a displayed dialog needs to be cancelled</summary> | |
/// <param name="dialog">used to interact with the dialog</param> | |
/// <remarks> | |
/// <para>The implementation must call the method dismiss on dialog to really release</para> | |
/// <para>the dialog.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void CancelCb(global::System.IntPtr dialog); | |
/// <summary>Called when a progress dialog needs to be updated</summary> | |
/// <param name="dialog">used to interact with the dialog</param> | |
/// <param name="position">osition of the progress bar (between 0.0 and 1.0)</param> | |
/// <param name="text">new text of the progress dialog</param> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void UpdtProgressCb(global::System.IntPtr dialog, float position, global::System.IntPtr text); | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.Instance> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.Instance>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.Instance __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.Instance(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.Instance __CreateInstance(global::libvlcpp.VLC.Instance.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.Instance(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.Instance.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Instance.__Internal)); | |
global::libvlcpp.VLC.Instance.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private Instance(global::libvlcpp.VLC.Instance.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected Instance(void* native, bool skipVTables = false) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary> | |
/// <para>Create and initialize a libvlc instance. This functions accept a list</para> | |
/// <para>of "command line" arguments similar to the main(). These arguments</para> | |
/// <para>affect the LibVLC instance default configuration.</para> | |
/// </summary> | |
/// <param name="argc">the number of arguments (should be 0)</param> | |
/// <param name="argv">list of arguments (should be NULL)</param> | |
/// <remarks> | |
/// <para>Arguments are meant to be passed from the command line to</para> | |
/// <para>LibVLC, just like VLC media player does. The list of valid arguments</para> | |
/// <para>depends on the LibVLC version, the operating system and platform, and</para> | |
/// <para>set of available LibVLC plugins. Invalid or unsupported arguments will</para> | |
/// <para>cause the function to fail (i.e. return NULL). Also, some arguments</para> | |
/// <para>may alter the behaviour or otherwise interfere with other LibVLC</para> | |
/// <para>functions.</para> | |
/// <para>There is absolutely no warranty or promise of forward,</para> | |
/// <para>backward and cross-platform compatibility with regards to</para> | |
/// <para>Instance::Instance() arguments. We recommend that you do not use them,</para> | |
/// <para>other than when debugging.</para> | |
/// </remarks> | |
public Instance(int argc, sbyte** argv) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Instance.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance), argc, argv); | |
} | |
/// <summary>Create an empty VLC instance.</summary> | |
/// <remarks>Calling any method on such an instance is undefined.</remarks> | |
public Instance() | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Instance.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance)); | |
} | |
public Instance(global::libvlcpp.VLC.Instance _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Instance.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.Instance __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static bool operator !=(global::libvlcpp.VLC.Instance __op, global::libvlcpp.VLC.Instance another) | |
{ | |
return !(__op == another); | |
} | |
/// <summary>Check if 2 Instance objects contain the same libvlc_instance_t.</summary> | |
/// <param name="another">another Instance</param> | |
/// <returns>true if they contain the same libvlc_instance_t</returns> | |
public static bool operator ==(global::libvlcpp.VLC.Instance __op, global::libvlcpp.VLC.Instance another) | |
{ | |
bool __opNull = ReferenceEquals(__op, null); | |
bool anotherNull = ReferenceEquals(another, null); | |
if (__opNull || anotherNull) | |
return __opNull && anotherNull; | |
var __arg0 = __op.__Instance; | |
var __arg1 = another.__Instance; | |
var __ret = __Internal.OperatorEqualEqual(__arg0, __arg1); | |
return __ret; | |
} | |
public override bool Equals(object obj) | |
{ | |
return this == obj as global::libvlcpp.VLC.Instance; | |
} | |
public override int GetHashCode() | |
{ | |
if (__Instance == global::System.IntPtr.Zero) | |
return global::System.IntPtr.Zero.GetHashCode(); | |
return (*(global::libvlcpp.VLC.Instance.__Internal*) __Instance).GetHashCode(); | |
} | |
/// <summary>Try to start a user interface for the libvlc instance.</summary> | |
/// <param name="name">interface name, or empty string for default</param> | |
public bool AddIntf(string name) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(name, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __ret = __Internal.AddIntf((__Instance), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Sets the application name. LibVLC passes this as the user agent string</para> | |
/// <para>when a protocol requires it.</para> | |
/// </summary> | |
/// <param name="name"> | |
/// <para>human-readable application name, e.g. "FooBar player</para> | |
/// <para>1.2.3"</para> | |
/// </param> | |
/// <param name="http">HTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0"</param> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public void SetUserAgent(string name, string http) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(name, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(http, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.SetUserAgent((__Instance), __arg0, __arg1); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
/// <summary> | |
/// <para>Sets some meta-information about the application. See also</para> | |
/// <para>Instance::setUserAgent() .</para> | |
/// </summary> | |
/// <param name="id">Java-style application identifier, e.g. "com.acme.foobar"</param> | |
/// <param name="version">application version numbers, e.g. "1.2.3"</param> | |
/// <param name="icon">application icon name, e.g. "foobar"</param> | |
/// <remarks>LibVLC 2.1.0 or later.</remarks> | |
public void SetAppId(string id, string version, string icon) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(id, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(version, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
var __allocator2 = new global::Std.Allocator<sbyte>(); | |
var __basicString2 = global::Std.BasicStringExtensions.BasicString(icon, __allocator2); | |
var __arg2 = __basicString2.__Instance; | |
__Internal.SetAppId((__Instance), __arg0, __arg1, __arg2); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
__basicString2.Dispose(false); | |
__allocator2.Dispose(); | |
} | |
/// <summary> | |
/// <para>Unsets the logging callback for a LibVLC instance. This is rarely</para> | |
/// <para>needed: the callback is implicitly unset when the instance is</para> | |
/// <para>destroyed. This function will wait for any pending callbacks</para> | |
/// <para>invocation to complete (causing a deadlock if called from within the</para> | |
/// <para>callback).</para> | |
/// </summary> | |
/// <remarks>LibVLC 2.1.0 or later</remarks> | |
public void LogUnset() | |
{ | |
__Internal.LogUnset((__Instance)); | |
} | |
/// <summary>Sets up logging to a file.</summary> | |
/// <param name="stream"> | |
/// <para>FILE pointer opened for writing (the FILE pointer must</para> | |
/// <para>remain valid until Instance::logUnset() )</para> | |
/// </param> | |
/// <remarks>LibVLC 2.1.0 or later</remarks> | |
public void LogSetFile(global::System.IntPtr stream) | |
{ | |
__Internal.LogSetFile((__Instance), stream); | |
} | |
/// <summary>Unset all callbacks</summary> | |
public void UnsetDialogHandlers() | |
{ | |
__Internal.UnsetDialogHandlers((__Instance)); | |
} | |
public global::System.IntPtr __PointerToInternal | |
{ | |
get | |
{ | |
return __Instance + 0; | |
} | |
} | |
} | |
namespace DialogType | |
{ | |
public unsafe partial class Instance | |
{ | |
public partial struct __Internal | |
{ | |
} | |
public static global::libvlcpp.LibvlcDialogQuestionType Normal | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.LibvlcDialogQuestionType*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?normal@DialogType@VLC@@3W4libvlc_dialog_question_type@@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.LibvlcDialogQuestionType Warning | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.LibvlcDialogQuestionType*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?warning@DialogType@VLC@@3W4libvlc_dialog_question_type@@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.LibvlcDialogQuestionType Critical | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.LibvlcDialogQuestionType*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?critical@DialogType@VLC@@3W4libvlc_dialog_question_type@@B"); | |
return *__ptr; | |
} | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class Media : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_callbacks; | |
[FieldOffset(16)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(32)] | |
internal global::Std.SharedPtr.__Internal m_eventManager; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Media@VLC@@QEAA@AEAVInstance@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4FromType@01@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr instance, global::System.IntPtr mrl, global::libvlcpp.VLC.Media.FromType type); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Media@VLC@@QEAA@AEAVInstance@1@H@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr instance, int fd); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Media@VLC@@QEAA@AEAVMediaList@1@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr list); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Media@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0Media@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1Media@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??8Media@VLC@@QEBA_NAEBV01@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool OperatorEqualEqual(global::System.IntPtr instance, global::System.IntPtr another); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?addOption@Media@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void AddOption(global::System.IntPtr instance, global::System.IntPtr psz_options); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?addOptionFlag@Media@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z")] | |
internal static extern void AddOptionFlag(global::System.IntPtr instance, global::System.IntPtr psz_options, uint i_flags); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?meta@Media@VLC@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4libvlc_meta_t@@@Z")] | |
internal static extern void Meta(global::System.IntPtr instance, global::System.IntPtr @return, global::libvlcpp.LibvlcMetaT e_meta); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMeta@Media@VLC@@QEAAXW4libvlc_meta_t@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void SetMeta(global::System.IntPtr instance, global::libvlcpp.LibvlcMetaT e_meta, global::System.IntPtr psz_value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?saveMeta@Media@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool SaveMeta(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?stats@Media@VLC@@QEAA_NPEAUlibvlc_media_stats_t@@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Stats(global::System.IntPtr instance, global::System.IntPtr p_stats); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?parseWithOptions@Media@VLC@@QEAA_NW4ParseFlags@12@H@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool ParseWithOptions(global::System.IntPtr instance, global::libvlcpp.VLC.Media.ParseFlags flags, int timeout); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?addSlave@Media@VLC@@QEAA_NW4Type@MediaSlave@2@IAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool AddSlave(global::System.IntPtr instance, global::libvlcpp.VLC.MediaSlave.Type type, uint priority, global::System.IntPtr uri); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?slavesClear@Media@VLC@@QEAAXXZ")] | |
internal static extern void SlavesClear(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?userData@Media@VLC@@QEAAPEAXXZ")] | |
internal static extern global::System.IntPtr UserData(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setUserData@Media@VLC@@QEAAXPEAX@Z")] | |
internal static extern void SetUserData(global::System.IntPtr instance, global::System.IntPtr p_new_user_data); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?mrl@Media@VLC@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern void Mrl(global::System.IntPtr instance, global::System.IntPtr @return); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?duplicate@Media@VLC@@QEAA?AV12@XZ")] | |
internal static extern void Duplicate(global::System.IntPtr instance, global::System.IntPtr @return); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?state@Media@VLC@@QEAA?AW4libvlc_state_t@@XZ")] | |
internal static extern global::libvlcpp.LibvlcStateT State(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?eventManager@Media@VLC@@QEAAAEAVMediaEventManager@2@XZ")] | |
internal static extern global::System.IntPtr EventManager(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?duration@Media@VLC@@QEAA_JXZ")] | |
internal static extern long Duration(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?parsedStatus@Media@VLC@@QEAA?AW4ParsedStatus@12@XZ")] | |
internal static extern global::libvlcpp.VLC.Media.ParsedStatus parsedStatus(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?type@Media@VLC@@QEAA?AW4Type@12@XZ")] | |
internal static extern global::libvlcpp.VLC.Media.Type type(global::System.IntPtr instance); | |
} | |
internal enum CallbackIdx : uint | |
{ | |
Open = 0, | |
Read = 1, | |
Seek = 2, | |
Close = 3 | |
} | |
/// <summary> | |
/// <para>The FromType enum is used to drive the media creation.</para> | |
/// <para>A media is usually created using a string, which can represent one of 3 things:</para> | |
/// </summary> | |
public enum FromType | |
{ | |
/// <summary>Create a media for a certain file path.</summary> | |
FromPath = 0, | |
/// <summary> | |
/// <para>Create a media with a certain given media resource location,</para> | |
/// <para>for instance a valid URL.</para> | |
/// </summary> | |
/// <remarks> | |
/// <para>To refer to a local file with this function,</para> | |
/// <para>the file://... URI syntaxmustbe used (see IETF RFC3986).</para> | |
/// <para>We recommend using FromPath instead when dealing with</para> | |
/// <para>local files.</para> | |
/// </remarks> | |
FromLocation = 1, | |
/// <summary>Create a media as an empty node with a given name.</summary> | |
AsNode = 2 | |
} | |
[Flags] | |
public enum ParseFlags | |
{ | |
/// <summary>Parse media if it's a local file</summary> | |
Local = 0, | |
/// <summary>Parse media even if it's a network file</summary> | |
Network = 1, | |
/// <summary>Fetch meta and covert art using local resources</summary> | |
FetchLocal = 2, | |
/// <summary>Fetch meta and covert art using network resources</summary> | |
FetchNetwork = 4, | |
/// <summary> | |
/// <para>Interact with the user (via libvlc_dialog_cbs) when preparsing this item</para> | |
/// <para>(and not its sub items). Set this flag in order to receive a callback</para> | |
/// <para>when the input is asking for credentials.</para> | |
/// </summary> | |
Interact = 8 | |
} | |
public enum ParsedStatus | |
{ | |
Skipped = 1, | |
Failed = 2, | |
Done = 4, | |
Timeout = 3 | |
} | |
public enum Type | |
{ | |
Unknown = 0, | |
File = 1, | |
Directory = 2, | |
Disc = 3, | |
Stream = 4, | |
Playlist = 5 | |
} | |
/// <summary>Callback prototype to open a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as passed to libvlc_media_new_callbacks()</param> | |
/// <param name="datap">storage space for a private data pointer [OUT]</param> | |
/// <param name="sizep">byte length of the bitstream or 0 if unknown [OUT]</param> | |
/// <returns> | |
/// <para>0 on success, non-zero on error. In case of failure, the other</para> | |
/// <para>callbacks will not be invoked and any value stored in *datap and *sizep is</para> | |
/// <para>discarded.</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>The same media item can be opened multiple times. Each time, this callback</para> | |
/// <para>is invoked. It should allocate and initialize any instance-specific</para> | |
/// <para>resources, then store them in *datap. The instance resources can be freed</para> | |
/// <para>in the</para> | |
/// <para>For convenience, *datap is initially NULL and *sizep is initially 0.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int ExpectedMediaOpenCb(global::System.IntPtr _0, void** datap, ulong* sizep); | |
/// <summary>Callback prototype to read data from a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as set by the</param> | |
/// <param name="buf">start address of the buffer to read data into</param> | |
/// <param name="len">bytes length of the buffer</param> | |
/// <returns> | |
/// <para>strictly positive number of bytes read, 0 on end-of-stream,</para> | |
/// <para>or -1 on non-recoverable error</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>callback</para> | |
/// <para>If no data is immediately available, then the callback should sleep.</para> | |
/// <para>The application is responsible for avoiding deadlock situations.</para> | |
/// <para>In particular, the callback should return an error if playback is stopped;</para> | |
/// <para>if it does not return, then libvlc_media_player_stop() will never return.</para> | |
/// </remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int ExpectedMediaReadCb(global::System.IntPtr opaque, byte* buf, ulong len); | |
/// <summary>Callback prototype to seek a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as set by the</param> | |
/// <param name="offset">absolute byte offset to seek to</param> | |
/// <returns>0 on success, -1 on error.</returns> | |
/// <remarks>callback</remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate int ExpectedMediaSeekCb(global::System.IntPtr opaque, ulong _0); | |
/// <summary>Callback prototype to close a custom bitstream input media.</summary> | |
/// <param name="opaque">private pointer as set by the</param> | |
/// <remarks>callback</remarks> | |
[SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(global::System.Runtime.InteropServices.CallingConvention.Cdecl)] | |
public unsafe delegate void ExpectedMediaCloseCb(global::System.IntPtr opaque); | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.Media> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.Media>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.Media __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.Media(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.Media __CreateInstance(global::libvlcpp.VLC.Media.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.Media(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.Media.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Media.__Internal)); | |
global::libvlcpp.VLC.Media.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private Media(global::libvlcpp.VLC.Media.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected Media(void* native, bool skipVTables = false) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary>Media Constructs a libvlc Media instance</summary> | |
/// <param name="instance">A libvlc instance</param> | |
/// <param name="mrl">A path, location, or node name, depending on the 3rd parameter</param> | |
/// <param name="type">The type of the 2nd argument.</param> | |
/// <remarks>{FromType}</remarks> | |
public Media(global::libvlcpp.VLC.Instance instance, string mrl, global::libvlcpp.VLC.Media.FromType type) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Media.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(instance, null)) | |
throw new global::System.ArgumentNullException("instance", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = instance.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(mrl, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.ctor((__Instance + 16), __arg0, __arg1, type); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
/// <summary> | |
/// <para>Create a media for an already open file descriptor.</para> | |
/// <para>The file descriptor shall be open for reading (or reading and writing).</para> | |
/// </summary> | |
/// <param name="instance">the instance</param> | |
/// <param name="fd">open file descriptor</param> | |
/// <returns>the newly created media</returns> | |
/// <remarks> | |
/// <para>Regular file descriptors, pipe read descriptors and character device</para> | |
/// <para>descriptors (including TTYs) are supported on all platforms.</para> | |
/// <para>Block device descriptors are supported where available.</para> | |
/// <para>Directory descriptors are supported on systems that provide fdopendir().</para> | |
/// <para>Sockets are supported on all platforms where they are file descriptors,</para> | |
/// <para>i.e. all except Windows.</para> | |
/// <para>This library willnotautomatically close the file descriptor</para> | |
/// <para>under any circumstance. Nevertheless, a file descriptor can usually only be</para> | |
/// <para>rendered once in a media player. To render it a second time, the file</para> | |
/// <para>descriptor should probably be rewound to the beginning with lseek().</para> | |
/// </remarks> | |
public Media(global::libvlcpp.VLC.Instance instance, int fd) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Media.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(instance, null)) | |
throw new global::System.ArgumentNullException("instance", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = instance.__Instance; | |
__Internal.ctor((__Instance + 16), __arg0, fd); | |
} | |
/// <summary> | |
/// <para>Get media instance from this media list instance. This action will increase</para> | |
/// <para>the refcount on the media instance.</para> | |
/// <para>The libvlc_media_list_lock should NOT be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="list">a media list instance</param> | |
/// <returns>media instance</returns> | |
public Media(global::libvlcpp.VLC.MediaList list) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Media.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(list, null)) | |
throw new global::System.ArgumentNullException("list", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = list.__Instance; | |
__Internal.ctor((__Instance + 16), __arg0); | |
} | |
/// <summary>Create an empty VLC Media instance.</summary> | |
/// <remarks>Calling any method on such an instance is undefined.</remarks> | |
public Media() | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Media.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance + 16)); | |
} | |
public Media(global::libvlcpp.VLC.Media _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.Media.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + 16), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.Media __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + 16), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static bool operator !=(global::libvlcpp.VLC.Media __op, global::libvlcpp.VLC.Media another) | |
{ | |
return !(__op == another); | |
} | |
/// <summary>Check if 2 Media objects contain the same libvlc_media_t.</summary> | |
/// <param name="another">another Media</param> | |
/// <returns>true if they contain the same libvlc_media_t</returns> | |
public static bool operator ==(global::libvlcpp.VLC.Media __op, global::libvlcpp.VLC.Media another) | |
{ | |
bool __opNull = ReferenceEquals(__op, null); | |
bool anotherNull = ReferenceEquals(another, null); | |
if (__opNull || anotherNull) | |
return __opNull && anotherNull; | |
var __arg0 = __op.__Instance; | |
var __arg1 = another.__Instance; | |
var __ret = __Internal.OperatorEqualEqual(__arg0, __arg1); | |
return __ret; | |
} | |
public override bool Equals(object obj) | |
{ | |
return this == obj as global::libvlcpp.VLC.Media; | |
} | |
public override int GetHashCode() | |
{ | |
if (__Instance == global::System.IntPtr.Zero) | |
return global::System.IntPtr.Zero.GetHashCode(); | |
return (*(global::libvlcpp.VLC.Media.__Internal*) __Instance).GetHashCode(); | |
} | |
/// <summary>Add an option to the media.</summary> | |
/// <param name="psz_options">the options (as a string)</param> | |
/// <remarks> | |
/// <para>This option will be used to determine how the media_player will read</para> | |
/// <para>the media. This allows to use VLC's advanced reading/streaming options</para> | |
/// <para>on a per-media basis.</para> | |
/// <para>The options are listed in 'vlc long-help' from the command line,</para> | |
/// <para>e.g. "-sout-all". Keep in mind that available options and their</para> | |
/// <para>semantics vary across LibVLC versions and builds.</para> | |
/// <para>Not all options affects libvlc_media_t objects: Specifically,</para> | |
/// <para>due to architectural issues most audio and video options, such as text</para> | |
/// <para>renderer options, have no effects on an individual media. These</para> | |
/// <para>options must be set through Instance::Instance() instead.</para> | |
/// </remarks> | |
public void AddOption(string psz_options) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(psz_options, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.AddOption((__Instance + 16), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
/// <summary>Add an option to the media with configurable flags.</summary> | |
/// <param name="psz_options">the options (as a string)</param> | |
/// <param name="i_flags">the flags for this option</param> | |
/// <remarks> | |
/// <para>This option will be used to determine how the media_player will read</para> | |
/// <para>the media. This allows to use VLC's advanced reading/streaming options</para> | |
/// <para>on a per-media basis.</para> | |
/// <para>The options are detailed in vlc long-help, for instance "--sout-all".</para> | |
/// <para>Note that all options are not usable on medias: specifically, due to</para> | |
/// <para>architectural issues, video-related options such as text renderer</para> | |
/// <para>options cannot be set on a single media. They must be set on the whole</para> | |
/// <para>libvlc instance instead.</para> | |
/// </remarks> | |
public void AddOptionFlag(string psz_options, uint i_flags) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(psz_options, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.AddOptionFlag((__Instance + 16), __arg0, i_flags); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
/// <summary>Read the meta of the media.</summary> | |
/// <param name="e_meta">the meta to read</param> | |
/// <returns>the media's meta</returns> | |
/// <remarks> | |
/// <para>If the media has not yet been parsed this will return NULL.</para> | |
/// <para>This methods automatically calls parseAsync() , so after</para> | |
/// <para>calling it you may receive a libvlc_MediaMetaChanged event. If you</para> | |
/// <para>prefer a synchronous version ensure that you call parse()</para> | |
/// <para>before get_meta().</para> | |
/// <para>parse()</para> | |
/// <para>parseAsync()</para> | |
/// <para>libvlc_MediaMetaChanged</para> | |
/// </remarks> | |
public string Meta(global::libvlcpp.LibvlcMetaT e_meta) | |
{ | |
var __ret = new global::Std.BasicString.__Internal(); | |
__Internal.Meta((__Instance + 16), new IntPtr(&__ret), e_meta); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
var __stringRet = global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
__basicStringRet.Dispose(false); | |
return __stringRet; | |
} | |
/// <summary> | |
/// <para>Set the meta of the media (this function will not save the meta, call</para> | |
/// <para>libvlc_media_save_meta in order to save the meta)</para> | |
/// </summary> | |
/// <param name="e_meta">the meta to write</param> | |
/// <param name="psz_value">the media's meta</param> | |
public void SetMeta(global::libvlcpp.LibvlcMetaT e_meta, string psz_value) | |
{ | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(psz_value, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.SetMeta((__Instance + 16), e_meta, __arg1); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
/// <summary>Save the meta previously set</summary> | |
/// <returns>true if the write operation was successful</returns> | |
public bool SaveMeta() | |
{ | |
var __ret = __Internal.SaveMeta((__Instance + 16)); | |
return __ret; | |
} | |
/// <summary>Get the current statistics about the media</summary> | |
/// <param name="p_stats"> | |
/// <para>structure that contain the statistics about the media</para> | |
/// <para>(this structure must be allocated by the caller)</para> | |
/// </param> | |
/// <returns>true if the statistics are available, false otherwise</returns> | |
public bool Stats(global::libvlcpp.LibvlcMediaStatsT p_stats) | |
{ | |
var __arg0 = ReferenceEquals(p_stats, null) ? global::System.IntPtr.Zero : p_stats.__Instance; | |
var __ret = __Internal.Stats((__Instance + 16), __arg0); | |
return __ret; | |
} | |
/// <summary>Parse the media asynchronously with options.</summary> | |
/// <param name="flags">parse options</param> | |
/// <param name="timeout"> | |
/// <para>maximum time allowed to preparse the media. If -1, the</para> | |
/// <para>default "preparse-timeout" option will be used as a timeout. If 0, it will</para> | |
/// <para>wait indefinitely. If > 0, the timeout will be used (in milliseconds).</para> | |
/// </param> | |
/// <returns>true on success, false otherwise</returns> | |
/// <remarks> | |
/// <para>This fetches (local or network) art, meta data and/or tracks information.</para> | |
/// <para>This method is the extended version of libvlc_media_parse_async().</para> | |
/// <para>To track when this is over you can listen to libvlc_MediaParsedStatus</para> | |
/// <para>event. However if this functions returns an error, you will not receive any</para> | |
/// <para>events.</para> | |
/// <para>It uses a flag to specify parse options (see libvlc_media_parse_flag_t). All</para> | |
/// <para>these flags can be combined. By default, media is parsed if it's a local</para> | |
/// <para>file.</para> | |
/// <para>ParsedStatus</para> | |
/// <para>meta()</para> | |
/// <para>tracks()</para> | |
/// <para>parsedStatus</para> | |
/// <para>ParseFlag</para> | |
/// <para>LibVLC 3.0.0 or later</para> | |
/// </remarks> | |
public bool ParseWithOptions(global::libvlcpp.VLC.Media.ParseFlags flags, int timeout) | |
{ | |
var __ret = __Internal.ParseWithOptions((__Instance + 16), flags, timeout); | |
return __ret; | |
} | |
/// <summary>Add a slave to the current media.</summary> | |
/// <param name="uri">Uri of the slave (should contain a valid scheme).</param> | |
/// <param name="type">subtitle or audio</param> | |
/// <param name="priority">from 0 (low priority) to 4 (high priority)</param> | |
/// <returns>true on success, false on error.</returns> | |
/// <remarks> | |
/// <para>A slave is an external input source that may contains an additional subtitle</para> | |
/// <para>track (like a .srt) or an additional audio track (like a .ac3).</para> | |
/// <para>This function must be called before the media is parsed (via parseWithOptions())</para> | |
/// <para>or before the media is played (via MediaPlayer::play())</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// </remarks> | |
public bool AddSlave(global::libvlcpp.VLC.MediaSlave.Type type, uint priority, string uri) | |
{ | |
var __allocator2 = new global::Std.Allocator<sbyte>(); | |
var __basicString2 = global::Std.BasicStringExtensions.BasicString(uri, __allocator2); | |
var __arg2 = __basicString2.__Instance; | |
var __ret = __Internal.AddSlave((__Instance + 16), type, priority, __arg2); | |
__basicString2.Dispose(false); | |
__allocator2.Dispose(); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Clear all slaves previously added by addSlave() or</para> | |
/// <para>internally.</para> | |
/// </summary> | |
/// <remarks>LibVLC 3.0.0 and later.</remarks> | |
public void SlavesClear() | |
{ | |
__Internal.SlavesClear((__Instance + 16)); | |
} | |
public static implicit operator global::libvlcpp.VLC.Media(global::libvlcpp.VLC.MediaList list) | |
{ | |
return new global::libvlcpp.VLC.Media(list); | |
} | |
public static global::libvlcpp.VLC.Media.FromType FromPath | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.Media.FromType*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?FromPath@Media@VLC@@2W4FromType@12@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.VLC.Media.FromType FromLocation | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.Media.FromType*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?FromLocation@Media@VLC@@2W4FromType@12@B"); | |
return *__ptr; | |
} | |
} | |
public static global::libvlcpp.VLC.Media.FromType AsNode | |
{ | |
get | |
{ | |
var __ptr = (global::libvlcpp.VLC.Media.FromType*)CppSharp.SymbolResolver.ResolveSymbol("vlcpp", "?AsNode@Media@VLC@@2W4FromType@12@B"); | |
return *__ptr; | |
} | |
} | |
public global::System.IntPtr __PointerToInternal | |
{ | |
get | |
{ | |
return __Instance + 16; | |
} | |
} | |
/// <summary> | |
/// <para>Get media descriptor's user_data. user_data is specialized data</para> | |
/// <para>accessed by the host application, VLC.framework uses it as a pointer</para> | |
/// <para>to an native object that references a libvlc_media_t pointer</para> | |
/// </summary> | |
/// <param name="p_new_user_data">pointer to user data</param> | |
/// <remarks> | |
/// <para>Sets media descriptor's user_data. user_data is specialized data</para> | |
/// <para>accessed by the host application, VLC.framework uses it as a pointer</para> | |
/// <para>to an native object that references a libvlc_media_t pointer</para> | |
/// </remarks> | |
public global::System.IntPtr UserData | |
{ | |
get | |
{ | |
var __ret = __Internal.UserData((__Instance + 16)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetUserData((__Instance + 16), value); | |
} | |
} | |
/// <summary>Get the media resource locator (mrl) from a media descriptor object</summary> | |
/// <returns>string with mrl of media descriptor object</returns> | |
public string Mrl | |
{ | |
get | |
{ | |
var __ret = new global::Std.BasicString.__Internal(); | |
__Internal.Mrl((__Instance + 16), new IntPtr(&__ret)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
var __stringRet = global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
__basicStringRet.Dispose(false); | |
return __stringRet; | |
} | |
} | |
/// <summary>Duplicate a media descriptor object.</summary> | |
public global::libvlcpp.VLC.Media Duplicate | |
{ | |
get | |
{ | |
var __ret = new global::libvlcpp.VLC.Media.__Internal(); | |
__Internal.Duplicate((__Instance + 16), new IntPtr(&__ret)); | |
return global::libvlcpp.VLC.Media.__CreateInstance(__ret); | |
} | |
} | |
/// <summary> | |
/// <para>Get current state of media descriptor object. Possible media states</para> | |
/// <para>are defined in libvlc_structures.c ( libvlc_NothingSpecial=0,</para> | |
/// <para>libvlc_Opening, libvlc_Buffering, libvlc_Playing, libvlc_Paused,</para> | |
/// <para>libvlc_Stopped, libvlc_Ended, libvlc_Error).</para> | |
/// </summary> | |
/// <returns>state of media descriptor object</returns> | |
/// <remarks>libvlc_state_t</remarks> | |
public global::libvlcpp.LibvlcStateT State | |
{ | |
get | |
{ | |
var __ret = __Internal.State((__Instance + 16)); | |
return __ret; | |
} | |
} | |
/// <summary> | |
/// <para>Get event manager from media descriptor object. NOTE: this function</para> | |
/// <para>doesn't increment reference counting.</para> | |
/// </summary> | |
/// <returns>event manager object</returns> | |
public global::libvlcpp.VLC.MediaEventManager EventManager | |
{ | |
get | |
{ | |
var __ret = __Internal.EventManager((__Instance + 16)); | |
global::libvlcpp.VLC.MediaEventManager __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.VLC.MediaEventManager.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.VLC.MediaEventManager) global::libvlcpp.VLC.MediaEventManager.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.VLC.MediaEventManager.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
/// <summary>Get duration (in ms) of media descriptor object item.</summary> | |
/// <returns>duration of media item or -1 on error</returns> | |
public long Duration | |
{ | |
get | |
{ | |
var __ret = __Internal.Duration((__Instance + 16)); | |
return __ret; | |
} | |
} | |
public global::libvlcpp.VLC.Media.ParsedStatus parsedStatus | |
{ | |
get | |
{ | |
var __ret = __Internal.parsedStatus((__Instance + 16)); | |
return __ret; | |
} | |
} | |
public global::libvlcpp.VLC.Media.Type type | |
{ | |
get | |
{ | |
var __ret = __Internal.type((__Instance + 16)); | |
return __ret; | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
/// <summary>The MediaPlayer class exposes libvlc_media_player_t functionnalities</summary> | |
public unsafe partial class MediaPlayer : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 48)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_callbacks; | |
[FieldOffset(16)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(32)] | |
internal global::Std.SharedPtr.__Internal m_eventManager; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaPlayer@VLC@@QEAA@AEAVInstance@1@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaPlayer@VLC@@QEAA@AEAVMedia@1@@Z")] | |
internal static extern global::System.IntPtr ctor_1(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaPlayer@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaPlayer@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaPlayer@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??8MediaPlayer@VLC@@QEBA_NAEBV01@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool OperatorEqualEqual(global::System.IntPtr instance, global::System.IntPtr another); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMedia@MediaPlayer@VLC@@QEAAXAEAVMedia@2@@Z")] | |
internal static extern void SetMedia(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setPause@MediaPlayer@VLC@@QEAAX_N@Z")] | |
internal static extern void SetPause(global::System.IntPtr instance, bool pause); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?pause@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void Pause(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?stop@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void Stop(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?chapterCountForTitle@MediaPlayer@VLC@@QEAAHH@Z")] | |
internal static extern int ChapterCountForTitle(global::System.IntPtr instance, int i_title); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?previousChapter@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void PreviousChapter(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?nextChapter@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void NextChapter(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setRate@MediaPlayer@VLC@@QEAAHM@Z")] | |
internal static extern int SetRate(global::System.IntPtr instance, float rate); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?canPause@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool CanPause(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?nextFrame@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void NextFrame(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?navigate@MediaPlayer@VLC@@QEAAXI@Z")] | |
internal static extern void Navigate(global::System.IntPtr instance, uint navigate); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setVideoTitleDisplay@MediaPlayer@VLC@@QEAAXW4libvlc_position_t@@I@Z")] | |
internal static extern void SetVideoTitleDisplay(global::System.IntPtr instance, global::libvlcpp.LibvlcPositionT position, uint timeout); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?toggleFullscreen@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void ToggleFullscreen(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setEqualizer@MediaPlayer@VLC@@QEAA_NAEAVEqualizer@2@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool SetEqualizer(global::System.IntPtr instance, global::System.IntPtr equalizer); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAudioFormat@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@II@Z")] | |
internal static extern void SetAudioFormat(global::System.IntPtr instance, global::System.IntPtr format, uint rate, uint channels); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAudioOutput@MediaPlayer@VLC@@QEAAHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern int SetAudioOutput(global::System.IntPtr instance, global::System.IntPtr name); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?outputDeviceSet@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z")] | |
internal static extern void OutputDeviceSet(global::System.IntPtr instance, global::System.IntPtr module, global::System.IntPtr device_id); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?outputDeviceSet@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void OutputDeviceSet(global::System.IntPtr instance, global::System.IntPtr device_id); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?toggleMute@MediaPlayer@VLC@@QEAAXXZ")] | |
internal static extern void ToggleMute(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setVideoFormat@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@III@Z")] | |
internal static extern void SetVideoFormat(global::System.IntPtr instance, global::System.IntPtr chroma, uint width, uint height, uint pitch); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setKeyInput@MediaPlayer@VLC@@QEAAX_N@Z")] | |
internal static extern void SetKeyInput(global::System.IntPtr instance, bool enable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMouseInput@MediaPlayer@VLC@@QEAAX_N@Z")] | |
internal static extern void SetMouseInput(global::System.IntPtr instance, bool enable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?size@MediaPlayer@VLC@@QEAA_NIPEAI0@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Size(global::System.IntPtr instance, uint num, uint* px, uint* py); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?cursor@MediaPlayer@VLC@@QEAA_NIPEAH0@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Cursor(global::System.IntPtr instance, uint num, int* px, int* py); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setSpu@MediaPlayer@VLC@@QEAAHH@Z")] | |
internal static extern int SetSpu(global::System.IntPtr instance, int i_spu); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setSpuDelay@MediaPlayer@VLC@@QEAAH_J@Z")] | |
internal static extern int SetSpuDelay(global::System.IntPtr instance, long i_delay); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setVideoTrack@MediaPlayer@VLC@@QEAAHH@Z")] | |
internal static extern int SetVideoTrack(global::System.IntPtr instance, int i_track); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?takeSnapshot@MediaPlayer@VLC@@QEAA_NIAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@II@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool TakeSnapshot(global::System.IntPtr instance, uint num, global::System.IntPtr filepath, uint i_width, uint i_height); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setDeinterlace@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void SetDeinterlace(global::System.IntPtr instance, global::System.IntPtr mode); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?marqueeInt@MediaPlayer@VLC@@QEAAHI@Z")] | |
internal static extern int MarqueeInt(global::System.IntPtr instance, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?marqueeString@MediaPlayer@VLC@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z")] | |
internal static extern void MarqueeString(global::System.IntPtr instance, global::System.IntPtr @return, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMarqueeInt@MediaPlayer@VLC@@QEAAXIH@Z")] | |
internal static extern void SetMarqueeInt(global::System.IntPtr instance, uint option, int i_val); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMarqueeString@MediaPlayer@VLC@@QEAAXIAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void SetMarqueeString(global::System.IntPtr instance, uint option, global::System.IntPtr text); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?logoInt@MediaPlayer@VLC@@QEAAHI@Z")] | |
internal static extern int LogoInt(global::System.IntPtr instance, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setLogoInt@MediaPlayer@VLC@@QEAAXIH@Z")] | |
internal static extern void SetLogoInt(global::System.IntPtr instance, uint option, int value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setLogoString@MediaPlayer@VLC@@QEAAXIAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void SetLogoString(global::System.IntPtr instance, uint option, global::System.IntPtr value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?adjustInt@MediaPlayer@VLC@@QEAAHI@Z")] | |
internal static extern int AdjustInt(global::System.IntPtr instance, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAdjustInt@MediaPlayer@VLC@@QEAAXIH@Z")] | |
internal static extern void SetAdjustInt(global::System.IntPtr instance, uint option, int value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?adjustFloat@MediaPlayer@VLC@@QEAAMI@Z")] | |
internal static extern float AdjustFloat(global::System.IntPtr instance, uint option); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAdjustFloat@MediaPlayer@VLC@@QEAAXIM@Z")] | |
internal static extern void SetAdjustFloat(global::System.IntPtr instance, uint option, float value); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?addSlave@MediaPlayer@VLC@@QEAA_NW4Type@MediaSlave@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool AddSlave(global::System.IntPtr instance, global::libvlcpp.VLC.MediaSlave.Type type, global::System.IntPtr uri, bool select); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?updateViewpoint@MediaPlayer@VLC@@QEAA_NAEBVVideoViewpoint@2@_N@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool UpdateViewpoint(global::System.IntPtr instance, global::System.IntPtr viewpoint, bool b_absolute); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?nsobject@MediaPlayer@VLC@@QEAAPEAXXZ")] | |
internal static extern global::System.IntPtr Nsobject(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setNsobject@MediaPlayer@VLC@@QEAAXPEAX@Z")] | |
internal static extern void SetNsobject(global::System.IntPtr instance, global::System.IntPtr drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?xwindow@MediaPlayer@VLC@@QEAAIXZ")] | |
internal static extern uint Xwindow(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setXwindow@MediaPlayer@VLC@@QEAAXI@Z")] | |
internal static extern void SetXwindow(global::System.IntPtr instance, uint drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?hwnd@MediaPlayer@VLC@@QEAAPEAXXZ")] | |
internal static extern global::System.IntPtr Hwnd(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setHwnd@MediaPlayer@VLC@@QEAAXPEAX@Z")] | |
internal static extern void SetHwnd(global::System.IntPtr instance, global::System.IntPtr drawable); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?time@MediaPlayer@VLC@@QEAA_JXZ")] | |
internal static extern long Time(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setTime@MediaPlayer@VLC@@QEAAX_J@Z")] | |
internal static extern void SetTime(global::System.IntPtr instance, long i_time); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?position@MediaPlayer@VLC@@QEAAMXZ")] | |
internal static extern float Position(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setPosition@MediaPlayer@VLC@@QEAAXM@Z")] | |
internal static extern void SetPosition(global::System.IntPtr instance, float f_pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?chapter@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int Chapter(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setChapter@MediaPlayer@VLC@@QEAAXH@Z")] | |
internal static extern void SetChapter(global::System.IntPtr instance, int i_chapter); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?title@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int Title(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setTitle@MediaPlayer@VLC@@QEAAXH@Z")] | |
internal static extern void SetTitle(global::System.IntPtr instance, int i_title); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?fullscreen@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Fullscreen(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setFullscreen@MediaPlayer@VLC@@QEAAX_N@Z")] | |
internal static extern void SetFullscreen(global::System.IntPtr instance, bool fullscreen); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?mute@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Mute(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMute@MediaPlayer@VLC@@QEAAX_N@Z")] | |
internal static extern void SetMute(global::System.IntPtr instance, bool mute); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?volume@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int Volume(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setVolume@MediaPlayer@VLC@@QEAA_NH@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool SetVolume(global::System.IntPtr instance, int i_volume); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?audioTrack@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int AudioTrack(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAudioTrack@MediaPlayer@VLC@@QEAA_NH@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool SetAudioTrack(global::System.IntPtr instance, int i_track); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?channel@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int Channel(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setChannel@MediaPlayer@VLC@@QEAA_NH@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool SetChannel(global::System.IntPtr instance, int channel); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?audioDelay@MediaPlayer@VLC@@QEAA_JXZ")] | |
internal static extern long AudioDelay(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAudioDelay@MediaPlayer@VLC@@QEAA_N_J@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool SetAudioDelay(global::System.IntPtr instance, long i_delay); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?scale@MediaPlayer@VLC@@QEAAMXZ")] | |
internal static extern float Scale(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setScale@MediaPlayer@VLC@@QEAAXM@Z")] | |
internal static extern void SetScale(global::System.IntPtr instance, float f_factor); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?aspectRatio@MediaPlayer@VLC@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern void AspectRatio(global::System.IntPtr instance, global::System.IntPtr @return); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setAspectRatio@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void SetAspectRatio(global::System.IntPtr instance, global::System.IntPtr ar); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?cropGeometry@MediaPlayer@VLC@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")] | |
internal static extern void CropGeometry(global::System.IntPtr instance, global::System.IntPtr @return); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setCropGeometry@MediaPlayer@VLC@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] | |
internal static extern void SetCropGeometry(global::System.IntPtr instance, global::System.IntPtr geometry); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?teletext@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int Teletext(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setTeletext@MediaPlayer@VLC@@QEAAXH@Z")] | |
internal static extern void SetTeletext(global::System.IntPtr instance, int i_page); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?eventManager@MediaPlayer@VLC@@QEAAAEAVMediaPlayerEventManager@2@XZ")] | |
internal static extern global::System.IntPtr EventManager(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isPlaying@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsPlaying(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?play@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Play(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?length@MediaPlayer@VLC@@QEAA_JXZ")] | |
internal static extern long Length(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?chapterCount@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int ChapterCount(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?willPlay@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool WillPlay(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?titleCount@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int TitleCount(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?rate@MediaPlayer@VLC@@QEAAMXZ")] | |
internal static extern float Rate(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?state@MediaPlayer@VLC@@QEAA?AW4libvlc_state_t@@XZ")] | |
internal static extern global::libvlcpp.LibvlcStateT State(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?hasVout@MediaPlayer@VLC@@QEAAIXZ")] | |
internal static extern uint HasVout(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isSeekable@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsSeekable(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?programScrambled@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool ProgramScrambled(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?unsetEqualizer@MediaPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool UnsetEqualizer(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?audioTrackCount@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int AudioTrackCount(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?spu@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int Spu(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?spuCount@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int SpuCount(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?spuDelay@MediaPlayer@VLC@@QEAA_JXZ")] | |
internal static extern long SpuDelay(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?videoTrackCount@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int VideoTrackCount(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?videoTrack@MediaPlayer@VLC@@QEAAHXZ")] | |
internal static extern int VideoTrack(global::System.IntPtr instance); | |
} | |
internal enum CallbackIdx : uint | |
{ | |
AudioPlay = 0, | |
AudioPause = 1, | |
AudioResume = 2, | |
AudioFlush = 3, | |
AudioDrain = 4, | |
AudioVolume = 5, | |
AudioSetup = 6, | |
AudioCleanup = 7, | |
VideoLock = 8, | |
VideoUnlock = 9, | |
VideoDisplay = 10, | |
VideoFormat = 11, | |
VideoCleanup = 12 | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaPlayer> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaPlayer>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.MediaPlayer __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayer(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaPlayer __CreateInstance(global::libvlcpp.VLC.MediaPlayer.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayer(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaPlayer.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayer.__Internal)); | |
global::libvlcpp.VLC.MediaPlayer.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaPlayer(global::libvlcpp.VLC.MediaPlayer.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaPlayer(void* native, bool skipVTables = false) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary>Create an empty Media Player object</summary> | |
/// <param name="p_libvlc_instance"> | |
/// <para>the libvlc instance in which the Media</para> | |
/// <para>Player should be created.</para> | |
/// </param> | |
public MediaPlayer(global::libvlcpp.VLC.Instance instance) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(instance, null)) | |
throw new global::System.ArgumentNullException("instance", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = instance.__Instance; | |
__Internal.ctor((__Instance), __arg0); | |
} | |
/// <summary>Create a Media Player object from a Media</summary> | |
/// <param name="p_md">the media. Afterwards the p_md can be safely destroyed.</param> | |
public MediaPlayer(global::libvlcpp.VLC.Media md) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
__Internal.ctor_1((__Instance), __arg0); | |
} | |
/// <summary>Create an empty VLC MediaPlayer instance.</summary> | |
/// <remarks>Calling any method on such an instance is undefined.</remarks> | |
public MediaPlayer() | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance)); | |
} | |
public MediaPlayer(global::libvlcpp.VLC.MediaPlayer _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_2((__Instance), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.MediaPlayer __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static bool operator !=(global::libvlcpp.VLC.MediaPlayer __op, global::libvlcpp.VLC.MediaPlayer another) | |
{ | |
return !(__op == another); | |
} | |
/// <summary>Check if 2 MediaPlayer objects contain the same libvlc_media_player_t.</summary> | |
/// <param name="another">another MediaPlayer</param> | |
/// <returns>true if they contain the same libvlc_media_player_t</returns> | |
public static bool operator ==(global::libvlcpp.VLC.MediaPlayer __op, global::libvlcpp.VLC.MediaPlayer another) | |
{ | |
bool __opNull = ReferenceEquals(__op, null); | |
bool anotherNull = ReferenceEquals(another, null); | |
if (__opNull || anotherNull) | |
return __opNull && anotherNull; | |
var __arg0 = __op.__Instance; | |
var __arg1 = another.__Instance; | |
var __ret = __Internal.OperatorEqualEqual(__arg0, __arg1); | |
return __ret; | |
} | |
public override bool Equals(object obj) | |
{ | |
return this == obj as global::libvlcpp.VLC.MediaPlayer; | |
} | |
public override int GetHashCode() | |
{ | |
if (__Instance == global::System.IntPtr.Zero) | |
return global::System.IntPtr.Zero.GetHashCode(); | |
return (*(global::libvlcpp.VLC.MediaPlayer.__Internal*) __Instance).GetHashCode(); | |
} | |
/// <summary> | |
/// <para>Set the media that will be used by the media_player. If any, previous</para> | |
/// <para>md will be released.</para> | |
/// </summary> | |
/// <param name="p_md">the Media. Afterwards the p_md can be safely destroyed.</param> | |
public void SetMedia(global::libvlcpp.VLC.Media md) | |
{ | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
__Internal.SetMedia((__Instance), __arg0); | |
} | |
/// <summary>Pause or resume (no effect if there is no media)</summary> | |
/// <param name="do_pause">play/resume if true, pause if false</param> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public void SetPause(bool pause) | |
{ | |
__Internal.SetPause((__Instance), pause); | |
} | |
/// <summary>pause Toggle pause (no effect if there is no media)</summary> | |
public void Pause() | |
{ | |
__Internal.Pause((__Instance)); | |
} | |
/// <summary>stop Stop the playback (no effect if there is no media)</summary> | |
/// <remarks> | |
/// <para>This is synchronous, and will block until all VLC threads have</para> | |
/// <para>been joined.</para> | |
/// <para>Calling this from a VLC callback is a bound to cause a deadlock.</para> | |
/// </remarks> | |
public void Stop() | |
{ | |
__Internal.Stop((__Instance)); | |
} | |
/// <summary>Get title chapter count</summary> | |
/// <param name="i_title">title</param> | |
/// <returns>number of chapters in title, or -1</returns> | |
public int ChapterCountForTitle(int i_title) | |
{ | |
var __ret = __Internal.ChapterCountForTitle((__Instance), i_title); | |
return __ret; | |
} | |
/// <summary>Set previous chapter (if applicable)</summary> | |
public void PreviousChapter() | |
{ | |
__Internal.PreviousChapter((__Instance)); | |
} | |
/// <summary>Set next chapter (if applicable)</summary> | |
public void NextChapter() | |
{ | |
__Internal.NextChapter((__Instance)); | |
} | |
/// <summary>Set movie play rate</summary> | |
/// <param name="rate">movie play rate to set</param> | |
/// <returns> | |
/// <para>-1 if an error was detected, 0 otherwise (but even then, it</para> | |
/// <para>might not actually work depending on the underlying media protocol)</para> | |
/// </returns> | |
public int SetRate(float rate) | |
{ | |
var __ret = __Internal.SetRate((__Instance), rate); | |
return __ret; | |
} | |
/// <summary>Can this media player be paused?</summary> | |
/// <returns>true if the media player can pause</returns> | |
public bool CanPause() | |
{ | |
var __ret = __Internal.CanPause((__Instance)); | |
return __ret; | |
} | |
/// <summary>Display the next frame (if supported)</summary> | |
public void NextFrame() | |
{ | |
__Internal.NextFrame((__Instance)); | |
} | |
/// <summary>Navigate through DVD Menu</summary> | |
/// <param name="navigate">the Navigation mode</param> | |
/// <remarks>libVLC 2.0.0 or later</remarks> | |
public void Navigate(uint navigate) | |
{ | |
__Internal.Navigate((__Instance), navigate); | |
} | |
/// <summary>Set if, and how, the video title will be shown when media is played.</summary> | |
/// <param name="position"> | |
/// <para>position at which to display the title, or</para> | |
/// <para>libvlc_position_disable to prevent the title from being displayed</para> | |
/// </param> | |
/// <param name="timeout"> | |
/// <para>title display timeout in milliseconds (ignored if</para> | |
/// <para>libvlc_position_disable)</para> | |
/// </param> | |
/// <remarks>libVLC 2.1.0 or later</remarks> | |
public void SetVideoTitleDisplay(global::libvlcpp.LibvlcPositionT position, uint timeout) | |
{ | |
__Internal.SetVideoTitleDisplay((__Instance), position, timeout); | |
} | |
/// <summary>Toggle fullscreen status on non-embedded video outputs.</summary> | |
/// <remarks> | |
/// <para>The same limitations applies to this function as to</para> | |
/// <para>MediaPlayer::setFullscreen() .</para> | |
/// </remarks> | |
public void ToggleFullscreen() | |
{ | |
__Internal.ToggleFullscreen((__Instance)); | |
} | |
/// <summary>Apply new equalizer settings to a media player.</summary> | |
/// <param name="equalizer">The equalizer to be used by this media player</param> | |
/// <returns>true on success, false otherwise</returns> | |
/// <remarks> | |
/// <para>The equalizer is first created by invoking</para> | |
/// <para>libvlc_audio_equalizer_new() or</para> | |
/// <para>libvlc_audio_equalizer_new_from_preset() .</para> | |
/// <para>It is possible to apply new equalizer settings to a media player</para> | |
/// <para>whether the media player is currently playing media or not.</para> | |
/// <para>Invoking this method will immediately apply the new equalizer settings</para> | |
/// <para>to the audio output of the currently playing media if there is any.</para> | |
/// <para>If there is no currently playing media, the new equalizer settings</para> | |
/// <para>will be applied later if and when new media is played.</para> | |
/// <para>Equalizer settings will automatically be applied to subsequently</para> | |
/// <para>played media.</para> | |
/// <para>To disable the equalizer for a media player invoke this method passing</para> | |
/// <para>NULL for the p_equalizer parameter.</para> | |
/// <para>The media player does not keep a reference to the supplied equalizer</para> | |
/// <para>so it is safe for an application to release the equalizer reference</para> | |
/// <para>any time after this method returns.</para> | |
/// <para>LibVLC 2.2.0 or later</para> | |
/// </remarks> | |
public bool SetEqualizer(global::libvlcpp.VLC.Equalizer equalizer) | |
{ | |
if (ReferenceEquals(equalizer, null)) | |
throw new global::System.ArgumentNullException("equalizer", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = equalizer.__Instance; | |
var __ret = __Internal.SetEqualizer((__Instance), __arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set decoded audio format. This only works in combination with</para> | |
/// <para>MediaPlayer::setCallbacks() , and is mutually exclusive with</para> | |
/// <para>MediaPlayer::setFormatCallbacks() .</para> | |
/// </summary> | |
/// <param name="format"> | |
/// <para>a four-characters string identifying the sample format</para> | |
/// <para>(e.g. "S16N" or "FL32")</para> | |
/// </param> | |
/// <param name="rate">sample rate (expressed in Hz)</param> | |
/// <param name="channels">channels count</param> | |
/// <remarks>LibVLC 2.0.0 or later</remarks> | |
public void SetAudioFormat(string format, uint rate, uint channels) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(format, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.SetAudioFormat((__Instance), __arg0, rate, channels); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
/// <summary>Selects an audio output module.</summary> | |
/// <param name="name">name of audio output, use psz_name of</param> | |
/// <returns>0 if function succeded, -1 on error</returns> | |
/// <remarks> | |
/// <para>Any change will take be effect only after playback is stopped</para> | |
/// <para>and restarted. Audio output cannot be changed while playing.</para> | |
/// <para>AudioOutputDescription</para> | |
/// </remarks> | |
public int SetAudioOutput(string name) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(name, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __ret = __Internal.SetAudioOutput((__Instance), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
return __ret; | |
} | |
/// <summary>Configures an explicit audio output device.</summary> | |
/// <param name="module"> | |
/// <para>If NULL, current audio output module. if non-NULL, name</para> | |
/// <para>of audio output module (</para> | |
/// </param> | |
/// <param name="device_id">device identifier string</param> | |
/// <returns>Nothing. Errors are ignored (this is a design bug).</returns> | |
/// <remarks> | |
/// <para>If the module paramater is NULL, audio output will be moved to the</para> | |
/// <para>device specified by the device identifier string immediately. This is</para> | |
/// <para>the recommended usage.</para> | |
/// <para>A list of adequate potential device strings can be obtained with</para> | |
/// <para>MediaPlayer::outputDeviceEnum() .</para> | |
/// <para>However passing NULL is supported in LibVLC version 2.2.0 and later</para> | |
/// <para>only; in earlier versions, this function would have no effects when</para> | |
/// <para>the module parameter was NULL.</para> | |
/// <para>If the module parameter is not NULL, the device parameter of the</para> | |
/// <para>corresponding audio output, if it exists, will be set to the specified</para> | |
/// <para>string. Note that some audio output modules do not have such a</para> | |
/// <para>parameter (notably MMDevice and PulseAudio).</para> | |
/// <para>A list of adequate potential device strings can be obtained with</para> | |
/// <para>Instance::audioOutputDeviceList() .</para> | |
/// <para>This function does not select the specified audio output plugin.</para> | |
/// <para>MediaPlayer::outputSet() is used for that purpose.</para> | |
/// <para>The syntax for the device parameter depends on the audio</para> | |
/// <para>output. Some audio output modules require further parameters (e.g. a</para> | |
/// <para>channels map in the case of ALSA).</para> | |
/// <para>AudioOutputDescription )</para> | |
/// </remarks> | |
public void OutputDeviceSet(string module, string device_id) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(module, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(device_id, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.OutputDeviceSet((__Instance), __arg0, __arg1); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
public void OutputDeviceSet(string device_id) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(device_id, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.OutputDeviceSet((__Instance), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
/// <summary>Toggle mute status.</summary> | |
/// <remarks> | |
/// <para>Toggling mute atomically is not always possible: On some</para> | |
/// <para>platforms, other processes can mute the VLC audio playback stream</para> | |
/// <para>asynchronously. Thus, there is a small race condition where toggling</para> | |
/// <para>will not work. See also the limitations of MediaPlayer::setMute() .</para> | |
/// </remarks> | |
public void ToggleMute() | |
{ | |
__Internal.ToggleMute((__Instance)); | |
} | |
/// <summary> | |
/// <para>Set decoded video chroma and dimensions. This only works in</para> | |
/// <para>combination with MediaPlayer::setCallbacks() , and is mutually exclusive</para> | |
/// <para>with MediaPlayer::setFormatCallbacks() .</para> | |
/// </summary> | |
/// <param name="chroma"> | |
/// <para>a four-characters string identifying the chroma (e.g.</para> | |
/// <para>"RV32" or "YUYV")</para> | |
/// </param> | |
/// <param name="width">pixel width</param> | |
/// <param name="height">pixel height</param> | |
/// <param name="pitch">line pitch (in bytes)</param> | |
/// <remarks>LibVLC 1.1.1 or later</remarks> | |
public void SetVideoFormat(string chroma, uint width, uint height, uint pitch) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(chroma, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.SetVideoFormat((__Instance), __arg0, width, height, pitch); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
/// <summary> | |
/// <para>Enable or disable key press events handling, according to the LibVLC</para> | |
/// <para>hotkeys configuration. By default and for historical reasons, keyboard</para> | |
/// <para>events are handled by the LibVLC video widget.</para> | |
/// </summary> | |
/// <param name="on">true to handle key press events, false to ignore them.</param> | |
/// <remarks> | |
/// <para>On X11, there can be only one subscriber for key press and mouse</para> | |
/// <para>click events per window. If your application has subscribed to those</para> | |
/// <para>events for the X window ID of the video widget, then LibVLC will not</para> | |
/// <para>be able to handle key presses and mouse clicks in any case.</para> | |
/// <para>This function is only implemented for X11 and Win32 at the</para> | |
/// <para>moment.</para> | |
/// </remarks> | |
public void SetKeyInput(bool enable) | |
{ | |
__Internal.SetKeyInput((__Instance), enable); | |
} | |
/// <summary> | |
/// <para>Enable or disable mouse click events handling. By default, those</para> | |
/// <para>events are handled. This is needed for DVD menus to work, as well as a</para> | |
/// <para>few video filters such as "puzzle".</para> | |
/// </summary> | |
/// <param name="on">true to handle mouse click events, false to ignore them.</param> | |
/// <remarks> | |
/// <para>MediaPlayer::setKeyInput() .</para> | |
/// <para>This function is only implemented for X11 and Win32 at the</para> | |
/// <para>moment.</para> | |
/// </remarks> | |
public void SetMouseInput(bool enable) | |
{ | |
__Internal.SetMouseInput((__Instance), enable); | |
} | |
/// <summary>Get the pixel dimensions of a video.</summary> | |
/// <param name="num">number of the video (starting from, and most commonly 0)</param> | |
/// <param name="px">pointer to get the pixel width [OUT]</param> | |
/// <param name="py">pointer to get the pixel height [OUT]</param> | |
public bool Size(uint num, ref uint px, ref uint py) | |
{ | |
fixed (uint* __refParamPtr1 = &px) | |
{ | |
var __arg1 = __refParamPtr1; | |
fixed (uint* __refParamPtr2 = &py) | |
{ | |
var __arg2 = __refParamPtr2; | |
var __ret = __Internal.Size((__Instance), num, __arg1, __arg2); | |
return __ret; | |
} | |
} | |
} | |
/// <summary> | |
/// <para>Get the mouse pointer coordinates over a video. Coordinates are</para> | |
/// <para>expressed in terms of the decoded video resolution, in terms of pixels</para> | |
/// <para>on the screen/viewport (to get the latter, you can query your</para> | |
/// <para>windowing system directly).</para> | |
/// </summary> | |
/// <param name="num">number of the video (starting from, and most commonly 0)</param> | |
/// <param name="px">pointer to get the abscissa [OUT]</param> | |
/// <param name="py">pointer to get the ordinate [OUT]</param> | |
/// <remarks> | |
/// <para>Either of the coordinates may be negative or larger than the</para> | |
/// <para>corresponding dimension of the video, if the cursor is outside the</para> | |
/// <para>rendering area.</para> | |
/// <para>The coordinates may be out-of-date if the pointer is not</para> | |
/// <para>located on the video rendering area. LibVLC does not track the pointer</para> | |
/// <para>if it is outside of the video widget.</para> | |
/// <para>LibVLC does not support multiple pointers (it does of course</para> | |
/// <para>support multiple input devices sharing the same pointer) at the</para> | |
/// <para>moment.</para> | |
/// </remarks> | |
public bool Cursor(uint num, ref int px, ref int py) | |
{ | |
fixed (int* __refParamPtr1 = &px) | |
{ | |
var __arg1 = __refParamPtr1; | |
fixed (int* __refParamPtr2 = &py) | |
{ | |
var __arg2 = __refParamPtr2; | |
var __ret = __Internal.Cursor((__Instance), num, __arg1, __arg2); | |
return __ret; | |
} | |
} | |
} | |
/// <summary>Set new video subtitle.</summary> | |
/// <param name="i_spu"> | |
/// <para>video subtitle track to select (i_id from track</para> | |
/// <para>description)</para> | |
/// </param> | |
/// <returns>0 on success, -1 if out of range</returns> | |
public int SetSpu(int i_spu) | |
{ | |
var __ret = __Internal.SetSpu((__Instance), i_spu); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set the subtitle delay. This affects the timing of when the subtitle</para> | |
/// <para>will be displayed. Positive values result in subtitles being displayed</para> | |
/// <para>later, while negative values will result in subtitles being displayed</para> | |
/// <para>earlier.</para> | |
/// </summary> | |
/// <param name="i_delay"> | |
/// <para>time (in microseconds) the display of subtitles should</para> | |
/// <para>be delayed</para> | |
/// </param> | |
/// <returns>0 on success, -1 on error</returns> | |
/// <remarks> | |
/// <para>The subtitle delay will be reset to zero each time the media changes.</para> | |
/// <para>LibVLC 2.0.0 or later</para> | |
/// </remarks> | |
public int SetSpuDelay(long i_delay) | |
{ | |
var __ret = __Internal.SetSpuDelay((__Instance), i_delay); | |
return __ret; | |
} | |
/// <summary>Set video track.</summary> | |
/// <param name="i_track">the track ID (i_id field from track description)</param> | |
/// <returns>0 on success, -1 if out of range</returns> | |
public int SetVideoTrack(int i_track) | |
{ | |
var __ret = __Internal.SetVideoTrack((__Instance), i_track); | |
return __ret; | |
} | |
/// <summary>Take a snapshot of the current video window.</summary> | |
/// <param name="num"> | |
/// <para>number of video output (typically 0 for the first/only</para> | |
/// <para>one)</para> | |
/// </param> | |
/// <param name="filepath">the path where to save the screenshot to</param> | |
/// <param name="i_width">the snapshot's width</param> | |
/// <param name="i_height">the snapshot's height</param> | |
/// <remarks> | |
/// <para>If i_width AND i_height is 0, original size is used. If i_width XOR</para> | |
/// <para>i_height is 0, original aspect-ratio is preserved.</para> | |
/// </remarks> | |
public bool TakeSnapshot(uint num, string filepath, uint i_width, uint i_height) | |
{ | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(filepath, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
var __ret = __Internal.TakeSnapshot((__Instance), num, __arg1, i_width, i_height); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
return __ret; | |
} | |
/// <summary>Enable or disable deinterlace filter</summary> | |
/// <param name="psz_mode">type of deinterlace filter, empty string to disable</param> | |
public void SetDeinterlace(string mode) | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(mode, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.SetDeinterlace((__Instance), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
/// <summary>Get an integer marquee option value</summary> | |
/// <param name="option">marq option to get</param> | |
/// <remarks>libvlc_video_marquee_int_option_t</remarks> | |
public int MarqueeInt(uint option) | |
{ | |
var __ret = __Internal.MarqueeInt((__Instance), option); | |
return __ret; | |
} | |
/// <summary>Get a string marquee option value</summary> | |
/// <param name="option">marq option to get</param> | |
/// <remarks>libvlc_video_marquee_string_option_t</remarks> | |
public string MarqueeString(uint option) | |
{ | |
var __ret = new global::Std.BasicString.__Internal(); | |
__Internal.MarqueeString((__Instance), new IntPtr(&__ret), option); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
var __stringRet = global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
__basicStringRet.Dispose(false); | |
return __stringRet; | |
} | |
/// <summary>Enable, disable or set an integer marquee option</summary> | |
/// <param name="option">marq option to set</param> | |
/// <param name="i_val">marq option value</param> | |
/// <remarks> | |
/// <para>Setting libvlc_marquee_Enable has the side effect of enabling (arg !0)</para> | |
/// <para>or disabling (arg 0) the marq filter.</para> | |
/// <para>libvlc_video_marquee_int_option_t</para> | |
/// </remarks> | |
public void SetMarqueeInt(uint option, int i_val) | |
{ | |
__Internal.SetMarqueeInt((__Instance), option, i_val); | |
} | |
/// <summary>Set a marquee string option</summary> | |
/// <param name="option">marq option to set</param> | |
/// <param name="text">marq option value</param> | |
/// <remarks>libvlc_video_marquee_string_option_t</remarks> | |
public void SetMarqueeString(uint option, string text) | |
{ | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(text, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.SetMarqueeString((__Instance), option, __arg1); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
/// <summary>Get integer logo option.</summary> | |
/// <param name="option"> | |
/// <para>logo option to get, values of</para> | |
/// <para>libvlc_video_logo_option_t</para> | |
/// </param> | |
public int LogoInt(uint option) | |
{ | |
var __ret = __Internal.LogoInt((__Instance), option); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set logo option as integer. Options that take a different type value</para> | |
/// <para>are ignored. Passing libvlc_logo_enable as option value has the side</para> | |
/// <para>effect of starting (arg !0) or stopping (arg 0) the logo filter.</para> | |
/// </summary> | |
/// <param name="option"> | |
/// <para>logo option to set, values of</para> | |
/// <para>libvlc_video_logo_option_t</para> | |
/// </param> | |
/// <param name="value">logo option value</param> | |
public void SetLogoInt(uint option, int value) | |
{ | |
__Internal.SetLogoInt((__Instance), option, value); | |
} | |
/// <summary> | |
/// <para>Set logo option as string. Options that take a different type value</para> | |
/// <para>are ignored.</para> | |
/// </summary> | |
/// <param name="option"> | |
/// <para>logo option to set, values of</para> | |
/// <para>libvlc_video_logo_option_t</para> | |
/// </param> | |
/// <param name="psz_value">logo option value</param> | |
public void SetLogoString(uint option, string value) | |
{ | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(value, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
__Internal.SetLogoString((__Instance), option, __arg1); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
} | |
/// <summary>Get integer adjust option.</summary> | |
/// <param name="option"> | |
/// <para>adjust option to get, values of</para> | |
/// <para>libvlc_video_adjust_option_t</para> | |
/// </param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public int AdjustInt(uint option) | |
{ | |
var __ret = __Internal.AdjustInt((__Instance), option); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set adjust option as integer. Options that take a different type value</para> | |
/// <para>are ignored. Passing libvlc_adjust_enable as option value has the side</para> | |
/// <para>effect of starting (arg !0) or stopping (arg 0) the adjust filter.</para> | |
/// </summary> | |
/// <param name="option"> | |
/// <para>adust option to set, values of</para> | |
/// <para>libvlc_video_adjust_option_t</para> | |
/// </param> | |
/// <param name="value">adjust option value</param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public void SetAdjustInt(uint option, int value) | |
{ | |
__Internal.SetAdjustInt((__Instance), option, value); | |
} | |
/// <summary>Get float adjust option.</summary> | |
/// <param name="option"> | |
/// <para>adjust option to get, values of</para> | |
/// <para>libvlc_video_adjust_option_t</para> | |
/// </param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public float AdjustFloat(uint option) | |
{ | |
var __ret = __Internal.AdjustFloat((__Instance), option); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Set adjust option as float. Options that take a different type value</para> | |
/// <para>are ignored.</para> | |
/// </summary> | |
/// <param name="option"> | |
/// <para>adust option to set, values of</para> | |
/// <para>libvlc_video_adjust_option_t</para> | |
/// </param> | |
/// <param name="value">adjust option value</param> | |
/// <remarks>LibVLC 1.1.1 and later.</remarks> | |
public void SetAdjustFloat(uint option, float value) | |
{ | |
__Internal.SetAdjustFloat((__Instance), option, value); | |
} | |
/// <summary>Add a slave to the current media player.</summary> | |
/// <param name="type">subtitle or audio</param> | |
/// <param name="uri">Uri of the slave (should contain a valid scheme).</param> | |
/// <param name="select">True if this slave should be selected when it's loaded</param> | |
/// <returns>true on success, false on error.</returns> | |
/// <remarks> | |
/// <para>If the player is playing, the slave will be added directly. This call</para> | |
/// <para>will also update the slave list of the attached VLC::Media.</para> | |
/// <para>LibVLC 3.0.0 and later.</para> | |
/// <para>Media::addSlave</para> | |
/// </remarks> | |
public bool AddSlave(global::libvlcpp.VLC.MediaSlave.Type type, string uri, bool select) | |
{ | |
var __allocator1 = new global::Std.Allocator<sbyte>(); | |
var __basicString1 = global::Std.BasicStringExtensions.BasicString(uri, __allocator1); | |
var __arg1 = __basicString1.__Instance; | |
var __ret = __Internal.AddSlave((__Instance), type, __arg1, select); | |
__basicString1.Dispose(false); | |
__allocator1.Dispose(); | |
return __ret; | |
} | |
public bool UpdateViewpoint(global::libvlcpp.VLC.VideoViewpoint viewpoint, bool b_absolute) | |
{ | |
if (ReferenceEquals(viewpoint, null)) | |
throw new global::System.ArgumentNullException("viewpoint", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = viewpoint.__Instance; | |
var __ret = __Internal.UpdateViewpoint((__Instance), __arg0, b_absolute); | |
return __ret; | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaPlayer(global::libvlcpp.VLC.Instance instance) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayer(instance); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaPlayer(global::libvlcpp.VLC.Media md) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayer(md); | |
} | |
public global::System.IntPtr __PointerToInternal | |
{ | |
get | |
{ | |
return __Instance + 0; | |
} | |
} | |
/// <summary> | |
/// <para>Get the NSView handler previously set with MediaPlayer::setNsobject()</para> | |
/// <para>.</para> | |
/// </summary> | |
/// <param name="drawable"> | |
/// <para>the drawable that is either an NSView or an object</para> | |
/// <para>following the VLCOpenGLVideoViewEmbedding protocol.</para> | |
/// </param> | |
/// <returns> | |
/// <para>the NSView handler or 0 if none where set</para> | |
/// <para>Set the NSView handler where the media player should render its video</para> | |
/// <para>output.</para> | |
/// <para>Use the vout called "macosx".</para> | |
/// <para>The drawable is an NSObject that follow the</para> | |
/// <para>VLCOpenGLVideoViewEmbedding protocol: VLCOpenGLVideoViewEmbedding</para> | |
/// <para>Or it can be an NSView object.</para> | |
/// <para>If you want to use it along with Qt4 see the QMacCocoaViewContainer.</para> | |
/// <para>Then the following code should work: { NSView *video = [[NSView</para> | |
/// <para>alloc] init]; QMacCocoaViewContainer *container = new</para> | |
/// <para>QMacCocoaViewContainer(video, parent);</para> | |
/// <para>libvlc_media_player_set_nsobject(mp, video); [video release]; }</para> | |
/// <para>You can find a live example in VLCVideoView in VLCKit.framework.</para> | |
/// </returns> | |
public global::System.IntPtr Nsobject | |
{ | |
get | |
{ | |
var __ret = __Internal.Nsobject((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetNsobject((__Instance), value); | |
} | |
} | |
/// <summary> | |
/// <para>Get the X Window System window identifier previously set with</para> | |
/// <para>MediaPlayer::setXwindow() . Note that this will return the identifier</para> | |
/// <para>even if VLC is not currently using it (for instance if it is playing</para> | |
/// <para>an audio-only input).</para> | |
/// </summary> | |
/// <param name="drawable">the ID of the X window</param> | |
/// <returns> | |
/// <para>an X window ID, or 0 if none where set.</para> | |
/// <para>Set an X Window System drawable where the media player should render</para> | |
/// <para>its video output. If LibVLC was built without X11 output support, then</para> | |
/// <para>this has no effects.</para> | |
/// <para>The specified identifier must correspond to an existing Input/Output</para> | |
/// <para>class X11 window. Pixmaps are supported. The caller shall ensure that</para> | |
/// <para>the X11 server is the same as the one the VLC instance has been</para> | |
/// <para>configured with. This function must be called before video playback is</para> | |
/// <para>started; otherwise it will only take effect after playback stop and</para> | |
/// <para>restart.</para> | |
/// </returns> | |
public uint Xwindow | |
{ | |
get | |
{ | |
var __ret = __Internal.Xwindow((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetXwindow((__Instance), value); | |
} | |
} | |
/// <summary> | |
/// <para>Get the Windows API window handle (HWND) previously set with</para> | |
/// <para>MediaPlayer::setHwnd() . The handle will be returned even if LibVLC is</para> | |
/// <para>not currently outputting any video to it.</para> | |
/// </summary> | |
/// <param name="drawable">windows handle of the drawable</param> | |
/// <returns> | |
/// <para>a window handle or nullptr if there are none.</para> | |
/// <para>Set a Win32/Win64 API window handle (HWND) where the media player</para> | |
/// <para>should render its video output. If LibVLC was built without</para> | |
/// <para>Win32/Win64 API output support, then this has no effects.</para> | |
/// </returns> | |
public global::System.IntPtr Hwnd | |
{ | |
get | |
{ | |
var __ret = __Internal.Hwnd((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetHwnd((__Instance), value); | |
} | |
} | |
/// <summary>Get the current movie time (in ms).</summary> | |
/// <param name="i_time">the movie time (in ms).</param> | |
/// <returns> | |
/// <para>the movie time (in ms), or -1 if there is no media.</para> | |
/// <para>Set the movie time (in ms). This has no effect if no media is being</para> | |
/// <para>played. Not all formats and protocols support this.</para> | |
/// </returns> | |
public long Time | |
{ | |
get | |
{ | |
var __ret = __Internal.Time((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetTime((__Instance), value); | |
} | |
} | |
/// <summary>Get movie position as percentage between 0.0 and 1.0.</summary> | |
/// <param name="f_pos">the position</param> | |
/// <returns> | |
/// <para>movie position, or -1. in case of error</para> | |
/// <para>Set movie position as percentage between 0.0 and 1.0. This has no</para> | |
/// <para>effect if playback is not enabled. This might not work depending on</para> | |
/// <para>the underlying input format and protocol.</para> | |
/// </returns> | |
public float Position | |
{ | |
get | |
{ | |
var __ret = __Internal.Position((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetPosition((__Instance), value); | |
} | |
} | |
/// <summary>Get movie chapter.</summary> | |
/// <param name="i_chapter">chapter number to play</param> | |
/// <returns> | |
/// <para>chapter number currently playing, or -1 if there is no media.</para> | |
/// <para>Set movie chapter (if applicable).</para> | |
/// </returns> | |
public int Chapter | |
{ | |
get | |
{ | |
var __ret = __Internal.Chapter((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetChapter((__Instance), value); | |
} | |
} | |
/// <summary>Get movie title</summary> | |
/// <param name="i_title">title number to play</param> | |
/// <returns> | |
/// <para>title number currently playing, or -1</para> | |
/// <para>Set movie title</para> | |
/// </returns> | |
public int Title | |
{ | |
get | |
{ | |
var __ret = __Internal.Title((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetTitle((__Instance), value); | |
} | |
} | |
/// <summary>Get current fullscreen status.</summary> | |
/// <param name="b_fullscreen">boolean for fullscreen status</param> | |
/// <returns> | |
/// <para>the fullscreen status (boolean)</para> | |
/// <para>Enable or disable fullscreen.</para> | |
/// </returns> | |
/// <remarks> | |
/// <para>With most window managers, only a top-level windows can be in</para> | |
/// <para>full-screen mode. Hence, this function will not operate properly if</para> | |
/// <para>MediaPlayer::setXwindow() was used to embed the video in a non-top-</para> | |
/// <para>level window. In that case, the embedding window must be reparented to</para> | |
/// <para>the root window fullscreen mode is enabled. You will want to reparent</para> | |
/// <para>it back to its normal parent when disabling fullscreen.</para> | |
/// </remarks> | |
public bool Fullscreen | |
{ | |
get | |
{ | |
var __ret = __Internal.Fullscreen((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetFullscreen((__Instance), value); | |
} | |
} | |
/// <summary>Get current mute status.</summary> | |
/// <param name="status">If status is true then mute, otherwise unmute</param> | |
/// <remarks> | |
/// <para>Set mute status.</para> | |
/// <para>This function does not always work. If there are no active</para> | |
/// <para>audio playback stream, the mute status might not be available. If</para> | |
/// <para>digital pass-through (S/PDIF, HDMI...) is in use, muting may be</para> | |
/// <para>unapplicable. Also some audio output plugins do not support muting at</para> | |
/// <para>all.</para> | |
/// <para>To force silent playback, disable all audio tracks. This is more</para> | |
/// <para>efficient and reliable than mute.</para> | |
/// </remarks> | |
public bool Mute | |
{ | |
get | |
{ | |
var __ret = __Internal.Mute((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetMute((__Instance), value); | |
} | |
} | |
/// <summary>Get current software audio volume.</summary> | |
/// <param name="i_volume">the volume in percents (0 = mute, 100 = 0dB)</param> | |
/// <returns> | |
/// <para>the software volume in percents (0 = mute, 100 = nominal /</para> | |
/// <para>0dB)</para> | |
/// <para>Set current software audio volume.</para> | |
/// </returns> | |
public int Volume | |
{ | |
get | |
{ | |
var __ret = __Internal.Volume((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetVolume((__Instance), value); | |
} | |
} | |
/// <summary>Get current audio track.</summary> | |
/// <param name="i_track">the track ID (i_id field from track description)</param> | |
/// <returns> | |
/// <para>the audio track ID or -1 if no active input.</para> | |
/// <para>Set current audio track.</para> | |
/// </returns> | |
public int AudioTrack | |
{ | |
get | |
{ | |
var __ret = __Internal.AudioTrack((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetAudioTrack((__Instance), value); | |
} | |
} | |
/// <summary>Get current audio channel.</summary> | |
/// <param name="channel">the audio channel,</param> | |
/// <returns>the audio channel</returns> | |
/// <remarks> | |
/// <para>libvlc_audio_output_channel_t</para> | |
/// <para>Set current audio channel.</para> | |
/// <para>libvlc_audio_output_channel_t</para> | |
/// </remarks> | |
public int Channel | |
{ | |
get | |
{ | |
var __ret = __Internal.Channel((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetChannel((__Instance), value); | |
} | |
} | |
/// <summary>Get current audio delay.</summary> | |
/// <param name="i_delay">the audio delay (microseconds)</param> | |
/// <returns>the audio delay (microseconds)</returns> | |
/// <remarks> | |
/// <para>LibVLC 1.1.1 or later</para> | |
/// <para>Set current audio delay. The audio delay will be reset to zero each</para> | |
/// <para>time the media changes.</para> | |
/// <para>LibVLC 1.1.1 or later</para> | |
/// </remarks> | |
public long AudioDelay | |
{ | |
get | |
{ | |
var __ret = __Internal.AudioDelay((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetAudioDelay((__Instance), value); | |
} | |
} | |
/// <summary>Get the current video scaling factor. See also MediaPlayer::setScale() .</summary> | |
/// <param name="f_factor">the scaling factor, or zero</param> | |
/// <returns> | |
/// <para>the currently configured zoom factor, or 0. if the video is</para> | |
/// <para>set to fit to the output window/drawable automatically.</para> | |
/// <para>Set the video scaling factor. That is the ratio of the number of</para> | |
/// <para>pixels on screen to the number of pixels in the original decoded video</para> | |
/// <para>in each dimension. Zero is a special value; it will adjust the video</para> | |
/// <para>to the output window/drawable (in windowed mode) or the entire screen.</para> | |
/// <para>Note that not all video outputs support scaling.</para> | |
/// </returns> | |
public float Scale | |
{ | |
get | |
{ | |
var __ret = __Internal.Scale((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetScale((__Instance), value); | |
} | |
} | |
/// <summary>Get current video aspect ratio.</summary> | |
/// <param name="psz_aspect">new video aspect-ratio or empty string to reset to default</param> | |
/// <returns> | |
/// <para>the video aspect ratio or an empty string if unspecified.</para> | |
/// <para>Set new video aspect ratio.</para> | |
/// </returns> | |
/// <remarks>Invalid aspect ratios are ignored.</remarks> | |
public string AspectRatio | |
{ | |
get | |
{ | |
var __ret = new global::Std.BasicString.__Internal(); | |
__Internal.AspectRatio((__Instance), new IntPtr(&__ret)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
var __stringRet = global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
__basicStringRet.Dispose(false); | |
return __stringRet; | |
} | |
set | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(value, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.SetAspectRatio((__Instance), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
} | |
/// <summary>Get current crop filter geometry.</summary> | |
/// <param name="psz_geometry">new crop filter geometry (empty string to unset)</param> | |
/// <returns> | |
/// <para>the crop filter geometry or an empty string if unset</para> | |
/// <para>Set new crop filter geometry.</para> | |
/// </returns> | |
public string CropGeometry | |
{ | |
get | |
{ | |
var __ret = new global::Std.BasicString.__Internal(); | |
__Internal.CropGeometry((__Instance), new IntPtr(&__ret)); | |
var __basicStringRet = global::Std.BasicString<sbyte, global::Std.CharTraits<sbyte>, global::Std.Allocator<sbyte>>.__CreateInstance(__ret); | |
var __stringRet = global::Std.BasicStringExtensions.CStr(__basicStringRet); | |
__basicStringRet.Dispose(false); | |
return __stringRet; | |
} | |
set | |
{ | |
var __allocator0 = new global::Std.Allocator<sbyte>(); | |
var __basicString0 = global::Std.BasicStringExtensions.BasicString(value, __allocator0); | |
var __arg0 = __basicString0.__Instance; | |
__Internal.SetCropGeometry((__Instance), __arg0); | |
__basicString0.Dispose(false); | |
__allocator0.Dispose(); | |
} | |
} | |
/// <summary>Get current teletext page requested.</summary> | |
/// <param name="i_page">teletex page number requested</param> | |
/// <returns> | |
/// <para>the current teletext page requested.</para> | |
/// <para>Set new teletext page to retrieve.</para> | |
/// </returns> | |
public int Teletext | |
{ | |
get | |
{ | |
var __ret = __Internal.Teletext((__Instance)); | |
return __ret; | |
} | |
set | |
{ | |
__Internal.SetTeletext((__Instance), value); | |
} | |
} | |
/// <summary>Get the Event Manager from which the media player send event.</summary> | |
/// <returns>the event manager associated with p_mi</returns> | |
public global::libvlcpp.VLC.MediaPlayerEventManager EventManager | |
{ | |
get | |
{ | |
var __ret = __Internal.EventManager((__Instance)); | |
global::libvlcpp.VLC.MediaPlayerEventManager __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.VLC.MediaPlayerEventManager.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.VLC.MediaPlayerEventManager) global::libvlcpp.VLC.MediaPlayerEventManager.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.VLC.MediaPlayerEventManager.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
/// <returns>true if the media player is playing, 0 otherwise</returns> | |
public bool IsPlaying | |
{ | |
get | |
{ | |
var __ret = __Internal.IsPlaying((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>play Start playback</summary> | |
/// <remarks>If playback was already started, this method has no effect</remarks> | |
public bool Play | |
{ | |
get | |
{ | |
var __ret = __Internal.Play((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get the current movie length (in ms).</summary> | |
/// <returns>the movie length (in ms), or -1 if there is no media.</returns> | |
public long Length | |
{ | |
get | |
{ | |
var __ret = __Internal.Length((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get movie chapter count</summary> | |
/// <returns>number of chapters in movie, or -1.</returns> | |
public int ChapterCount | |
{ | |
get | |
{ | |
var __ret = __Internal.ChapterCount((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Is the player able to play</summary> | |
/// <returns>boolean</returns> | |
public bool WillPlay | |
{ | |
get | |
{ | |
var __ret = __Internal.WillPlay((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get movie title count</summary> | |
/// <returns>title number count, or -1</returns> | |
public int TitleCount | |
{ | |
get | |
{ | |
var __ret = __Internal.TitleCount((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get the requested movie play rate.</summary> | |
/// <returns>movie play rate</returns> | |
/// <remarks> | |
/// <para>Depending on the underlying media, the requested rate may be</para> | |
/// <para>different from the real playback rate.</para> | |
/// </remarks> | |
public float Rate | |
{ | |
get | |
{ | |
var __ret = __Internal.Rate((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get current movie state</summary> | |
/// <returns>the current state of the media player (playing, paused, ...)</returns> | |
/// <remarks>libvlc_state_t</remarks> | |
public global::libvlcpp.LibvlcStateT State | |
{ | |
get | |
{ | |
var __ret = __Internal.State((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get the amount of video outputs this media player has?</summary> | |
/// <returns>the number of video outputs</returns> | |
public uint HasVout | |
{ | |
get | |
{ | |
var __ret = __Internal.HasVout((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Is this media player seekable?</summary> | |
/// <returns>true if the media player can seek</returns> | |
public bool IsSeekable | |
{ | |
get | |
{ | |
var __ret = __Internal.IsSeekable((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Check if the current program is scrambled</summary> | |
/// <returns>true if the current program is scrambled</returns> | |
/// <remarks>LibVLC 2.2.0 or later</remarks> | |
public bool ProgramScrambled | |
{ | |
get | |
{ | |
var __ret = __Internal.ProgramScrambled((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>unsetEqualizer disable equalizer for this media player</summary> | |
/// <returns>true on success, false otherwise.</returns> | |
public bool UnsetEqualizer | |
{ | |
get | |
{ | |
var __ret = __Internal.UnsetEqualizer((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get number of available audio tracks.</summary> | |
/// <returns> | |
/// <para>the number of available audio tracks (int), or -1 if</para> | |
/// <para>unavailable</para> | |
/// </returns> | |
public int AudioTrackCount | |
{ | |
get | |
{ | |
var __ret = __Internal.AudioTrackCount((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get current video subtitle.</summary> | |
/// <returns>the video subtitle selected, or -1 if none</returns> | |
public int Spu | |
{ | |
get | |
{ | |
var __ret = __Internal.Spu((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get the number of available video subtitles.</summary> | |
/// <returns>the number of available video subtitles</returns> | |
public int SpuCount | |
{ | |
get | |
{ | |
var __ret = __Internal.SpuCount((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary> | |
/// <para>Get the current subtitle delay. Positive values means subtitles are</para> | |
/// <para>being displayed later, negative values earlier.</para> | |
/// </summary> | |
/// <returns> | |
/// <para>time (in microseconds) the display of subtitles is being</para> | |
/// <para>delayed</para> | |
/// </returns> | |
/// <remarks>LibVLC 2.0.0 or later</remarks> | |
public long SpuDelay | |
{ | |
get | |
{ | |
var __ret = __Internal.SpuDelay((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get number of available video tracks.</summary> | |
/// <returns>the number of available video tracks (int)</returns> | |
public int VideoTrackCount | |
{ | |
get | |
{ | |
var __ret = __Internal.VideoTrackCount((__Instance)); | |
return __ret; | |
} | |
} | |
/// <summary>Get current video track.</summary> | |
/// <returns>the video track ID (int) or -1 if no active input</returns> | |
public int VideoTrack | |
{ | |
get | |
{ | |
var __ret = __Internal.VideoTrack((__Instance)); | |
return __ret; | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
/// <summary>This class serves as a base for all event managers.</summary> | |
/// <remarks> | |
/// <para>All events can be handled by providing a std::function.</para> | |
/// <para>libvlcpp will take ownership (ie. the function will be moved inside an internal list)</para> | |
/// <para>If the provided std::function is a lambda, it may capture anything you desire</para> | |
/// </remarks> | |
public unsafe partial class EventManager : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.Vector.__Internal m_lambdas; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0EventManager@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr em); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1EventManager@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.EventManager> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.EventManager>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.EventManager __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.EventManager(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.EventManager __CreateInstance(global::libvlcpp.VLC.EventManager.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.EventManager(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.EventManager.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.EventManager.__Internal)); | |
global::libvlcpp.VLC.EventManager.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private EventManager(global::libvlcpp.VLC.EventManager.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected EventManager(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary>EventManager Wraps the same EventManager</summary> | |
/// <remarks> | |
/// <para>This will copy the underlying libvlc_event_manager_t, but will not copy</para> | |
/// <para>the already registered events.</para> | |
/// <para>This allows you to copy an event manager, register a few events for a</para> | |
/// <para>punctual task, and unregister those events by destroying the new instance.</para> | |
/// </remarks> | |
public EventManager(global::libvlcpp.VLC.EventManager em) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.EventManager.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(em, null)) | |
throw new global::System.ArgumentNullException("em", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = em.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.EventManager __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
} | |
/// <summary>The MediaEventManager class allows one to register Media related events</summary> | |
public unsafe partial class MediaEventManager : global::libvlcpp.VLC.EventManager, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.Vector.__Internal m_lambdas; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaEventManager@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaEventManager@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
internal static new global::libvlcpp.VLC.MediaEventManager __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaEventManager(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaEventManager __CreateInstance(global::libvlcpp.VLC.MediaEventManager.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaEventManager(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaEventManager.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaEventManager.__Internal)); | |
global::libvlcpp.VLC.MediaEventManager.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaEventManager(global::libvlcpp.VLC.MediaEventManager.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaEventManager(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public MediaEventManager(global::libvlcpp.VLC.MediaEventManager _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaEventManager.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public override void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.EventManager __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaEventManager(global::libvlcpp.LibvlcEventManagerT ptr) | |
{ | |
return new global::libvlcpp.VLC.MediaEventManager(ptr); | |
} | |
} | |
/// <summary>The MediaPlayerEventManager class allows one to register MediaPlayer related events</summary> | |
public unsafe partial class MediaPlayerEventManager : global::libvlcpp.VLC.EventManager, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.Vector.__Internal m_lambdas; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaPlayerEventManager@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaPlayerEventManager@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
internal static new global::libvlcpp.VLC.MediaPlayerEventManager __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayerEventManager(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaPlayerEventManager __CreateInstance(global::libvlcpp.VLC.MediaPlayerEventManager.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayerEventManager(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaPlayerEventManager.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayerEventManager.__Internal)); | |
global::libvlcpp.VLC.MediaPlayerEventManager.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaPlayerEventManager(global::libvlcpp.VLC.MediaPlayerEventManager.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaPlayerEventManager(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public MediaPlayerEventManager(global::libvlcpp.VLC.MediaPlayerEventManager _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaPlayerEventManager.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public override void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.EventManager __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaPlayerEventManager(global::libvlcpp.LibvlcEventManagerT ptr) | |
{ | |
return new global::libvlcpp.VLC.MediaPlayerEventManager(ptr); | |
} | |
} | |
/// <summary>The MediaListEventManager class allows one to register MediaList related events</summary> | |
public unsafe partial class MediaListEventManager : global::libvlcpp.VLC.EventManager, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.Vector.__Internal m_lambdas; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaListEventManager@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaListEventManager@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
internal static new global::libvlcpp.VLC.MediaListEventManager __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaListEventManager(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaListEventManager __CreateInstance(global::libvlcpp.VLC.MediaListEventManager.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaListEventManager(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaListEventManager.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListEventManager.__Internal)); | |
global::libvlcpp.VLC.MediaListEventManager.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaListEventManager(global::libvlcpp.VLC.MediaListEventManager.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaListEventManager(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public MediaListEventManager(global::libvlcpp.VLC.MediaListEventManager _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListEventManager.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public override void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.EventManager __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaListEventManager(global::libvlcpp.LibvlcEventManagerT ptr) | |
{ | |
return new global::libvlcpp.VLC.MediaListEventManager(ptr); | |
} | |
} | |
/// <summary> | |
/// <para>The MediaListPlayerEventManager class</para> | |
/// <para>Those events aren't sent by VLC so far.</para> | |
/// </summary> | |
public unsafe partial class MediaListPlayerEventManager : global::libvlcpp.VLC.EventManager, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.Vector.__Internal m_lambdas; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaListPlayerEventManager@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaListPlayerEventManager@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
internal static new global::libvlcpp.VLC.MediaListPlayerEventManager __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaListPlayerEventManager(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaListPlayerEventManager __CreateInstance(global::libvlcpp.VLC.MediaListPlayerEventManager.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaListPlayerEventManager(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaListPlayerEventManager.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListPlayerEventManager.__Internal)); | |
global::libvlcpp.VLC.MediaListPlayerEventManager.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaListPlayerEventManager(global::libvlcpp.VLC.MediaListPlayerEventManager.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaListPlayerEventManager(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public MediaListPlayerEventManager(global::libvlcpp.VLC.MediaListPlayerEventManager _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListPlayerEventManager.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public override void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.EventManager __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaListPlayerEventManager(global::libvlcpp.LibvlcEventManagerT ptr) | |
{ | |
return new global::libvlcpp.VLC.MediaListPlayerEventManager(ptr); | |
} | |
} | |
/// <summary>The VLMEventManager class allows one to register VLM related events</summary> | |
public unsafe partial class VLMEventManager : global::libvlcpp.VLC.EventManager, IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 40)] | |
public new partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.Vector.__Internal m_lambdas; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0VLMEventManager@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1VLMEventManager@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
} | |
internal static new global::libvlcpp.VLC.VLMEventManager __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.VLMEventManager(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.VLMEventManager __CreateInstance(global::libvlcpp.VLC.VLMEventManager.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.VLMEventManager(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.VLMEventManager.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VLMEventManager.__Internal)); | |
global::libvlcpp.VLC.VLMEventManager.__Internal.cctor(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private VLMEventManager(global::libvlcpp.VLC.VLMEventManager.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected VLMEventManager(void* native, bool skipVTables = false) | |
: base((void*) null) | |
{ | |
__PointerAdjustment = 0; | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
public VLMEventManager(global::libvlcpp.VLC.VLMEventManager _0) | |
: this((void*) null) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.VLMEventManager.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
public override void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.EventManager __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static implicit operator global::libvlcpp.VLC.VLMEventManager(global::libvlcpp.LibvlcEventManagerT ptr) | |
{ | |
return new global::libvlcpp.VLC.VLMEventManager(ptr); | |
} | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class MediaList : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 32)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.SharedPtr.__Internal m_eventManager; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaList@VLC@@QEAA@AEAVMedia@1@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaList@VLC@@QEAA@AEAVMediaDiscoverer@1@@Z")] | |
internal static extern global::System.IntPtr ctor_1(global::System.IntPtr instance, global::System.IntPtr mdis); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaList@VLC@@QEAA@AEAVMediaLibrary@1@@Z")] | |
internal static extern global::System.IntPtr ctor_2(global::System.IntPtr instance, global::System.IntPtr mlib); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaList@VLC@@QEAA@AEAVInstance@1@@Z")] | |
internal static extern global::System.IntPtr ctor_3(global::System.IntPtr instance, global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaList@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaList@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_4(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaList@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??8MediaList@VLC@@QEBA_NAEBV01@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool OperatorEqualEqual(global::System.IntPtr instance, global::System.IntPtr another); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMedia@MediaList@VLC@@QEAAXAEAVMedia@2@@Z")] | |
internal static extern void SetMedia(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?addMedia@MediaList@VLC@@QEAA_NAEAVMedia@2@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool AddMedia(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?insertMedia@MediaList@VLC@@QEAA_NAEAVMedia@2@H@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool InsertMedia(global::System.IntPtr instance, global::System.IntPtr md, int pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?removeIndex@MediaList@VLC@@QEAA_NH@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool RemoveIndex(global::System.IntPtr instance, int i_pos); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?indexOfItem@MediaList@VLC@@QEAAHAEAVMedia@2@@Z")] | |
internal static extern int IndexOfItem(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?lock@MediaList@VLC@@QEAAXXZ")] | |
internal static extern void Lock(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?unlock@MediaList@VLC@@QEAAXXZ")] | |
internal static extern void Unlock(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?count@MediaList@VLC@@QEAAHXZ")] | |
internal static extern int Count(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isReadonly@MediaList@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsReadonly(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?eventManager@MediaList@VLC@@QEAAAEAVMediaListEventManager@2@XZ")] | |
internal static extern global::System.IntPtr EventManager(global::System.IntPtr instance); | |
} | |
/// <summary>A convenience RAII type to handle MediaList's lock</summary> | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaList> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaList>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.MediaList __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaList(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaList __CreateInstance(global::libvlcpp.VLC.MediaList.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaList(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaList.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
global::libvlcpp.VLC.MediaList.__Internal.cctor_4(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaList(global::libvlcpp.VLC.MediaList.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaList(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary>Get subitems of media descriptor object.</summary> | |
public MediaList(global::libvlcpp.VLC.Media md) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Get media service discover media list.</summary> | |
/// <param name="p_mdis">media service discover object</param> | |
public MediaList(global::libvlcpp.VLC.MediaDiscoverer mdis) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(mdis, null)) | |
throw new global::System.ArgumentNullException("mdis", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = mdis.__Instance; | |
__Internal.ctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Get media library subitems.</summary> | |
/// <param name="p_mlib">media library object</param> | |
public MediaList(global::libvlcpp.VLC.MediaLibrary mlib) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(mlib, null)) | |
throw new global::System.ArgumentNullException("mlib", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = mlib.__Instance; | |
__Internal.ctor_2((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Create an empty media list.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
public MediaList(global::libvlcpp.VLC.Instance instance) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(instance, null)) | |
throw new global::System.ArgumentNullException("instance", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = instance.__Instance; | |
__Internal.ctor_3((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Create an empty VLC MediaList instance.</summary> | |
/// <remarks>Calling any method on such an instance is undefined.</remarks> | |
public MediaList() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance + __PointerAdjustment)); | |
} | |
public MediaList(global::libvlcpp.VLC.MediaList _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaList.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_4((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.MediaList __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static bool operator !=(global::libvlcpp.VLC.MediaList __op, global::libvlcpp.VLC.MediaList another) | |
{ | |
return !(__op == another); | |
} | |
/// <summary>Check if 2 MediaList objects contain the same libvlc_media_list_t.</summary> | |
/// <param name="another">another MediaList</param> | |
/// <returns>true if they contain the same libvlc_media_list_t</returns> | |
public static bool operator ==(global::libvlcpp.VLC.MediaList __op, global::libvlcpp.VLC.MediaList another) | |
{ | |
bool __opNull = ReferenceEquals(__op, null); | |
bool anotherNull = ReferenceEquals(another, null); | |
if (__opNull || anotherNull) | |
return __opNull && anotherNull; | |
var __arg0 = __op.__Instance; | |
var __arg1 = another.__Instance; | |
var __ret = __Internal.OperatorEqualEqual(__arg0, __arg1); | |
return __ret; | |
} | |
public override bool Equals(object obj) | |
{ | |
return this == obj as global::libvlcpp.VLC.MediaList; | |
} | |
public override int GetHashCode() | |
{ | |
if (__Instance == global::System.IntPtr.Zero) | |
return global::System.IntPtr.Zero.GetHashCode(); | |
return (*(global::libvlcpp.VLC.MediaList.__Internal*) __Instance).GetHashCode(); | |
} | |
/// <summary> | |
/// <para>Associate media instance with this media list instance. If another</para> | |
/// <para>media instance was present it will be released. The</para> | |
/// <para>MediaList lock should NOT be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_md">media instance to add</param> | |
public void SetMedia(global::libvlcpp.VLC.Media md) | |
{ | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
__Internal.SetMedia((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary> | |
/// <para>Add media instance to media list The MediaList lock should be</para> | |
/// <para>held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_md">a media instance</param> | |
public bool AddMedia(global::libvlcpp.VLC.Media md) | |
{ | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
var __ret = __Internal.AddMedia((__Instance + __PointerAdjustment), __arg0); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Insert media instance in media list on a position The</para> | |
/// <para>MediaList lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_md">a media instance</param> | |
/// <param name="i_pos">position in array where to insert</param> | |
public bool InsertMedia(global::libvlcpp.VLC.Media md, int pos) | |
{ | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
var __ret = __Internal.InsertMedia((__Instance + __PointerAdjustment), __arg0, pos); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Remove media instance from media list on a position The</para> | |
/// <para>MediaList lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="i_pos">position in array where to insert</param> | |
public bool RemoveIndex(int i_pos) | |
{ | |
var __ret = __Internal.RemoveIndex((__Instance + __PointerAdjustment), i_pos); | |
return __ret; | |
} | |
/// <summary> | |
/// <para>Find index position of List media instance in media list. Warning: the</para> | |
/// <para>function will return the first matched position. The</para> | |
/// <para>MediaList lock should be held upon entering this function.</para> | |
/// </summary> | |
/// <param name="p_md">media instance</param> | |
/// <returns>position of media instance or -1 if media not found</returns> | |
public int IndexOfItem(global::libvlcpp.VLC.Media md) | |
{ | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
var __ret = __Internal.IndexOfItem((__Instance + __PointerAdjustment), __arg0); | |
return __ret; | |
} | |
/// <summary>Get lock on media list items</summary> | |
public void Lock() | |
{ | |
__Internal.Lock((__Instance + __PointerAdjustment)); | |
} | |
/// <summary> | |
/// <para>Release lock on media list items The MediaList lock should be</para> | |
/// <para>held upon entering this function.</para> | |
/// </summary> | |
public void Unlock() | |
{ | |
__Internal.Unlock((__Instance + __PointerAdjustment)); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaList(global::libvlcpp.VLC.Media md) | |
{ | |
return new global::libvlcpp.VLC.MediaList(md); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaList(global::libvlcpp.VLC.MediaDiscoverer mdis) | |
{ | |
return new global::libvlcpp.VLC.MediaList(mdis); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaList(global::libvlcpp.VLC.MediaLibrary mlib) | |
{ | |
return new global::libvlcpp.VLC.MediaList(mlib); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaList(global::libvlcpp.VLC.Instance instance) | |
{ | |
return new global::libvlcpp.VLC.MediaList(instance); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaList(global::libvlcpp.LibvlcMediaListT mediaList) | |
{ | |
return new global::libvlcpp.VLC.MediaList(mediaList); | |
} | |
/// <summary> | |
/// <para>Get count on media list items The MediaList lock should be</para> | |
/// <para>held upon entering this function.</para> | |
/// </summary> | |
/// <returns>number of items in media list</returns> | |
public int Count | |
{ | |
get | |
{ | |
var __ret = __Internal.Count((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary> | |
/// <para>This indicates if this media list is read-only from a user point of</para> | |
/// <para>view</para> | |
/// </summary> | |
/// <returns>true if readonly, false otherwise</returns> | |
public bool IsReadonly | |
{ | |
get | |
{ | |
var __ret = __Internal.IsReadonly((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary> | |
/// <para>Get libvlc_event_manager from this media list instance. The</para> | |
/// <para>p_event_manager is immutable, so you don't have to hold the lock</para> | |
/// </summary> | |
/// <returns>libvlc_event_manager</returns> | |
public global::libvlcpp.VLC.MediaListEventManager EventManager | |
{ | |
get | |
{ | |
var __ret = __Internal.EventManager((__Instance + __PointerAdjustment)); | |
global::libvlcpp.VLC.MediaListEventManager __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.VLC.MediaListEventManager.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.VLC.MediaListEventManager) global::libvlcpp.VLC.MediaListEventManager.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.VLC.MediaListEventManager.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial interface IInternal | |
{ | |
global::System.IntPtr __Instance { get; } | |
global::System.IntPtr __PointerToInternal { get; } | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class MediaListPlayer : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 32)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[FieldOffset(16)] | |
internal global::Std.SharedPtr.__Internal m_eventManager; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaListPlayer@VLC@@QEAA@AEAVInstance@1@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaListPlayer@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaListPlayer@VLC@@QEAA@AEBV01@@Z")] | |
internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??1MediaListPlayer@VLC@@QEAA@XZ")] | |
internal static extern void dtor(global::System.IntPtr instance, int delete); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??8MediaListPlayer@VLC@@QEBA_NAEBV01@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool OperatorEqualEqual(global::System.IntPtr instance, global::System.IntPtr another); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMediaPlayer@MediaListPlayer@VLC@@QEAAXAEBVMediaPlayer@2@@Z")] | |
internal static extern void SetMediaPlayer(global::System.IntPtr instance, global::System.IntPtr mi); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setMediaList@MediaListPlayer@VLC@@QEAAXAEBVMediaList@2@@Z")] | |
internal static extern void SetMediaList(global::System.IntPtr instance, global::System.IntPtr mlist); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?play@MediaListPlayer@VLC@@QEAAXXZ")] | |
internal static extern void Play(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?pause@MediaListPlayer@VLC@@QEAAXXZ")] | |
internal static extern void Pause(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?playItemAtIndex@MediaListPlayer@VLC@@QEAA_NH@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool PlayItemAtIndex(global::System.IntPtr instance, int i_index); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?playItem@MediaListPlayer@VLC@@QEAA_NAEBVMedia@2@@Z")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool PlayItem(global::System.IntPtr instance, global::System.IntPtr md); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?stop@MediaListPlayer@VLC@@QEAAXXZ")] | |
internal static extern void Stop(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?setPlaybackMode@MediaListPlayer@VLC@@QEAAXW4libvlc_playback_mode_t@@@Z")] | |
internal static extern void SetPlaybackMode(global::System.IntPtr instance, global::libvlcpp.LibvlcPlaybackModeT e_mode); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?eventManager@MediaListPlayer@VLC@@QEAAAEAVMediaListPlayerEventManager@2@XZ")] | |
internal static extern global::System.IntPtr EventManager(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?isPlaying@MediaListPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool IsPlaying(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?state@MediaListPlayer@VLC@@QEAA?AW4libvlc_state_t@@XZ")] | |
internal static extern global::libvlcpp.LibvlcStateT State(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?next@MediaListPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Next(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="?previous@MediaListPlayer@VLC@@QEAA_NXZ")] | |
[return: MarshalAs(UnmanagedType.I1)] | |
internal static extern bool Previous(global::System.IntPtr instance); | |
} | |
public global::System.IntPtr __Instance { get; protected set; } | |
protected int __PointerAdjustment; | |
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaListPlayer> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::libvlcpp.VLC.MediaListPlayer>(); | |
protected void*[] __OriginalVTables; | |
protected bool __ownsNativeInstance; | |
internal static global::libvlcpp.VLC.MediaListPlayer __CreateInstance(global::System.IntPtr native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaListPlayer(native.ToPointer(), skipVTables); | |
} | |
internal static global::libvlcpp.VLC.MediaListPlayer __CreateInstance(global::libvlcpp.VLC.MediaListPlayer.__Internal native, bool skipVTables = false) | |
{ | |
return new global::libvlcpp.VLC.MediaListPlayer(native, skipVTables); | |
} | |
private static void* __CopyValue(global::libvlcpp.VLC.MediaListPlayer.__Internal native) | |
{ | |
var ret = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListPlayer.__Internal)); | |
global::libvlcpp.VLC.MediaListPlayer.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); | |
return ret.ToPointer(); | |
} | |
private MediaListPlayer(global::libvlcpp.VLC.MediaListPlayer.__Internal native, bool skipVTables = false) | |
: this(__CopyValue(native), skipVTables) | |
{ | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
} | |
protected MediaListPlayer(void* native, bool skipVTables = false) | |
{ | |
if (native == null) | |
return; | |
__Instance = new global::System.IntPtr(native); | |
} | |
/// <summary>Create new media_list_player.</summary> | |
/// <param name="p_instance">libvlc instance</param> | |
public MediaListPlayer(global::libvlcpp.VLC.Instance instance) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(instance, null)) | |
throw new global::System.ArgumentNullException("instance", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = instance.__Instance; | |
__Internal.ctor((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Create an empty VLC MediaListPlayer instance.</summary> | |
/// <remarks>Calling any method on such an instance is undefined.</remarks> | |
public MediaListPlayer() | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
__Internal.ctor((__Instance + __PointerAdjustment)); | |
} | |
public MediaListPlayer(global::libvlcpp.VLC.MediaListPlayer _0) | |
{ | |
__Instance = Marshal.AllocHGlobal(sizeof(global::libvlcpp.VLC.MediaListPlayer.__Internal)); | |
__ownsNativeInstance = true; | |
NativeToManagedMap[__Instance] = this; | |
if (ReferenceEquals(_0, null)) | |
throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = _0.__Instance; | |
__Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); | |
} | |
public void Dispose() | |
{ | |
Dispose(disposing: true); | |
} | |
public virtual void Dispose(bool disposing) | |
{ | |
if (__Instance == IntPtr.Zero) | |
return; | |
global::libvlcpp.VLC.MediaListPlayer __dummy; | |
NativeToManagedMap.TryRemove(__Instance, out __dummy); | |
if (disposing) | |
__Internal.dtor((__Instance + __PointerAdjustment), 0); | |
if (__ownsNativeInstance) | |
Marshal.FreeHGlobal(__Instance); | |
__Instance = IntPtr.Zero; | |
} | |
public static bool operator !=(global::libvlcpp.VLC.MediaListPlayer __op, global::libvlcpp.VLC.MediaListPlayer another) | |
{ | |
return !(__op == another); | |
} | |
/// <summary>Check if 2 MediaListPlayer objects contain the same libvlc_media_list_player_t.</summary> | |
/// <param name="another">another MediaListPlayer</param> | |
/// <returns>true if they contain the same libvlc_media_list_player_t</returns> | |
public static bool operator ==(global::libvlcpp.VLC.MediaListPlayer __op, global::libvlcpp.VLC.MediaListPlayer another) | |
{ | |
bool __opNull = ReferenceEquals(__op, null); | |
bool anotherNull = ReferenceEquals(another, null); | |
if (__opNull || anotherNull) | |
return __opNull && anotherNull; | |
var __arg0 = __op.__Instance; | |
var __arg1 = another.__Instance; | |
var __ret = __Internal.OperatorEqualEqual(__arg0, __arg1); | |
return __ret; | |
} | |
public override bool Equals(object obj) | |
{ | |
return this == obj as global::libvlcpp.VLC.MediaListPlayer; | |
} | |
public override int GetHashCode() | |
{ | |
if (__Instance == global::System.IntPtr.Zero) | |
return global::System.IntPtr.Zero.GetHashCode(); | |
return (*(global::libvlcpp.VLC.MediaListPlayer.__Internal*) __Instance).GetHashCode(); | |
} | |
/// <summary>Replace media player in media_list_player with this instance.</summary> | |
/// <param name="p_mi">media player instance</param> | |
public void SetMediaPlayer(global::libvlcpp.VLC.MediaPlayer mi) | |
{ | |
if (ReferenceEquals(mi, null)) | |
throw new global::System.ArgumentNullException("mi", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = mi.__Instance; | |
__Internal.SetMediaPlayer((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Set the media list associated with the player</summary> | |
/// <param name="p_mlist">list of media</param> | |
public void SetMediaList(global::libvlcpp.VLC.MediaList mlist) | |
{ | |
if (ReferenceEquals(mlist, null)) | |
throw new global::System.ArgumentNullException("mlist", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = mlist.__Instance; | |
__Internal.SetMediaList((__Instance + __PointerAdjustment), __arg0); | |
} | |
/// <summary>Play media list</summary> | |
public void Play() | |
{ | |
__Internal.Play((__Instance + __PointerAdjustment)); | |
} | |
/// <summary>Toggle pause (or resume) media list</summary> | |
public void Pause() | |
{ | |
__Internal.Pause((__Instance + __PointerAdjustment)); | |
} | |
/// <summary>Play media list item at position index</summary> | |
/// <param name="i_index">index in media list to play</param> | |
public bool PlayItemAtIndex(int i_index) | |
{ | |
var __ret = __Internal.PlayItemAtIndex((__Instance + __PointerAdjustment), i_index); | |
return __ret; | |
} | |
/// <summary>Play the given media item</summary> | |
/// <param name="p_md">the media instance</param> | |
public bool PlayItem(global::libvlcpp.VLC.Media md) | |
{ | |
if (ReferenceEquals(md, null)) | |
throw new global::System.ArgumentNullException("md", "Cannot be null because it is a C++ reference (&)."); | |
var __arg0 = md.__Instance; | |
var __ret = __Internal.PlayItem((__Instance + __PointerAdjustment), __arg0); | |
return __ret; | |
} | |
/// <summary>Stop playing media list</summary> | |
public void Stop() | |
{ | |
__Internal.Stop((__Instance + __PointerAdjustment)); | |
} | |
/// <summary>Sets the playback mode for the playlist</summary> | |
/// <param name="e_mode">playback mode specification</param> | |
public void SetPlaybackMode(global::libvlcpp.LibvlcPlaybackModeT e_mode) | |
{ | |
__Internal.SetPlaybackMode((__Instance + __PointerAdjustment), e_mode); | |
} | |
public static implicit operator global::libvlcpp.VLC.MediaListPlayer(global::libvlcpp.VLC.Instance instance) | |
{ | |
return new global::libvlcpp.VLC.MediaListPlayer(instance); | |
} | |
/// <summary>Return the event manager of this media_list_player.</summary> | |
/// <returns>the event manager</returns> | |
public global::libvlcpp.VLC.MediaListPlayerEventManager EventManager | |
{ | |
get | |
{ | |
var __ret = __Internal.EventManager((__Instance + __PointerAdjustment)); | |
global::libvlcpp.VLC.MediaListPlayerEventManager __result0; | |
if (__ret == IntPtr.Zero) __result0 = null; | |
else if (global::libvlcpp.VLC.MediaListPlayerEventManager.NativeToManagedMap.ContainsKey(__ret)) | |
__result0 = (global::libvlcpp.VLC.MediaListPlayerEventManager) global::libvlcpp.VLC.MediaListPlayerEventManager.NativeToManagedMap[__ret]; | |
else __result0 = global::libvlcpp.VLC.MediaListPlayerEventManager.__CreateInstance(__ret); | |
return __result0; | |
} | |
} | |
/// <summary>Is media list playing?</summary> | |
/// <returns>true for playing and false for not playing</returns> | |
public bool IsPlaying | |
{ | |
get | |
{ | |
var __ret = __Internal.IsPlaying((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>Get current libvlc_state of media list player</summary> | |
/// <returns>libvlc_state_t for media list player</returns> | |
public global::libvlcpp.LibvlcStateT State | |
{ | |
get | |
{ | |
var __ret = __Internal.State((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>Play next item from media list</summary> | |
public bool Next | |
{ | |
get | |
{ | |
var __ret = __Internal.Next((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
/// <summary>Play previous item from media list</summary> | |
public bool Previous | |
{ | |
get | |
{ | |
var __ret = __Internal.Previous((__Instance + __PointerAdjustment)); | |
return __ret; | |
} | |
} | |
} | |
} | |
namespace VLC | |
{ | |
public unsafe partial class MediaLibrary : IDisposable | |
{ | |
[StructLayout(LayoutKind.Explicit, Size = 16)] | |
public partial struct __Internal | |
{ | |
[FieldOffset(0)] | |
internal global::Std.SharedPtr.__Internal m_obj; | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaLibrary@VLC@@QEAA@AEAVInstance@1@@Z")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, | |
EntryPoint="??0MediaLibrary@VLC@@QEAA@XZ")] | |
internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); | |
[SuppressUnmanagedCodeSecurity] | |
[DllImport("vlcpp", CallingConvention = gl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment