public MediaTrackInfosStructure[] GetMediaTracksInformations(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } IntPtr fullBuffer; var cpt = myLibraryLoader.GetInteropDelegate <GetMediaTracksInformations>().Invoke(mediaInstance, out fullBuffer); if (cpt <= 0) { return(new MediaTrackInfosStructure[0]); } var result = new MediaTrackInfosStructure[cpt]; var buffer = fullBuffer; for (int index = 0; index < cpt; index++) { result[index] = MarshalHelper.PtrToStructure <MediaTrackInfosStructure>(buffer); buffer = IntPtr.Size == 4 ? new IntPtr(buffer.ToInt32() + MarshalHelper.SizeOf <MediaTrackInfosStructure>()) : new IntPtr(buffer.ToInt64() + MarshalHelper.SizeOf <MediaTrackInfosStructure>()); } Free(fullBuffer); return(result); }
public MediaTrackInfosStructure[] GetMediaTracksInformations(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var fullBuffer = IntPtr.Zero; var cpt = GetInteropDelegate <GetMediaTracksInformations>().Invoke(mediaInstance, out fullBuffer); if (cpt <= 0) { return(new MediaTrackInfosStructure[0]); } var result = new MediaTrackInfosStructure[cpt]; var buffer = fullBuffer; for (int index = 0; index < cpt; index++) { result[index] = (MediaTrackInfosStructure)Marshal.PtrToStructure(buffer, typeof(MediaTrackInfosStructure)); #if X86 buffer = new IntPtr(buffer.ToInt32() + Marshal.SizeOf(typeof(MediaTrackInfosStructure))); #else buffer = new IntPtr(buffer.ToInt64() + Marshal.SizeOf(typeof(MediaTrackInfosStructure))); #endif } Free(fullBuffer); return(result); }
public VlcMediaInstance CreateNewMediaFromLocation(string mrl) { var handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(mrl), GCHandleType.Pinned); var result = new VlcMediaInstance(this, GetInteropDelegate<CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle.AddrOfPinnedObject())); handle.Free(); return result; }
public VlcMediaInstance CreateNewMediaFromStream(Stream stream) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (VlcVersionNumber.Major < 3) { throw new InvalidOperationException("You need VLC version 3.0 or higher to be able to use CreateNewMediaFromStream"); } IntPtr opaque = AddStream(stream); if (opaque == IntPtr.Zero) { return(null); } var result = VlcMediaInstance.New(this, myLibraryLoader.GetInteropDelegate <CreateNewMediaFromCallbacks>().Invoke( myVlcInstance, CallbackOpenMediaDelegate, CallbackReadMediaDelegate, CallbackSeekMediaDelegate, CallbackCloseMediaDelegate, opaque )); return(result); }
public string GetMediaMrl(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); var ptr = GetInteropDelegate<GetMediaMrl>().Invoke(mediaInstance); return Marshal.PtrToStringAnsi(ptr); }
public VlcMediaInstance CreateNewMediaFromLocation(string mrl) { using (var handle = Utf8InteropStringConverter.ToUtf8StringHandle(mrl)) { return(VlcMediaInstance.New(this, myLibraryLoader.GetInteropDelegate <CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle))); } }
public void SetMediaToMediaPlayer(VlcMediaPlayerInstance mediaPlayerInstance, VlcMediaInstance mediaInstance) { if (mediaPlayerInstance == IntPtr.Zero) throw new ArgumentException("Media player instance is not initialized."); if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); GetInteropDelegate<SetMediaToMediaPlayer>().Invoke(mediaPlayerInstance, mediaInstance); }
public void SetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata, string value) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); var handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(value), GCHandleType.Pinned); GetInteropDelegate<SetMediaMetadata>().Invoke(mediaInstance, metadata, handle.AddrOfPinnedObject()); handle.Free(); }
public void ReleaseMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } myLibraryLoader.GetInteropDelegate <ReleaseMedia>().Invoke(mediaInstance); }
public MediaStatsStructure GetMediaStats(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); var result = new MediaStatsStructure(); GetInteropDelegate<GetMediaStats>().Invoke(mediaInstance, out result); return result; }
public void AddOptionFlagToMedia(VlcMediaInstance mediaInstance, string option, uint flag) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); var handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(option), GCHandleType.Pinned); GetInteropDelegate<AddOptionFlagToMedia>().Invoke(mediaInstance, handle.AddrOfPinnedObject(), flag); handle.Free(); }
public VlcMediaEventManagerInstance GetMediaEventManager(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(new VlcMediaEventManagerInstance(this, myLibraryLoader.GetInteropDelegate <GetMediaEventManager>().Invoke(mediaInstance))); }
public MediaStates GetMediaState(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(myLibraryLoader.GetInteropDelegate <GetMediaState>().Invoke(mediaInstance)); }
public VlcMediaInstance CloneMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(VlcMediaInstance.New(this, GetInteropDelegate <CloneMedia>().Invoke(mediaInstance))); }
public long GetMediaDuration(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(GetInteropDelegate <GetMediaDuration>().Invoke(mediaInstance)); }
public VlcMediaPlayerInstance CreateMediaPlayerFromMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(new VlcMediaPlayerInstance(this, GetInteropDelegate <CreateMediaPlayerFromMedia>().Invoke(mediaInstance))); }
public VlcMediaInstance CreateNewMediaFromLocation(string mrl) { var handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(mrl), GCHandleType.Pinned); var result = VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle.AddrOfPinnedObject())); handle.Free(); return(result); }
public bool SaveMediaMetadatas(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(GetInteropDelegate <SaveMediaMetadatas>().Invoke(mediaInstance) == 1); }
public bool IsParsedMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } return(myLibraryLoader.GetInteropDelegate <IsParsedMedia>().Invoke(mediaInstance) == 1); }
public void ParseMediaAsync(VlcMediaInstance mediaPlayerInstance) { if (mediaPlayerInstance == IntPtr.Zero) { throw new ArgumentException("Media player instance is not initialized."); } GetInteropDelegate <ParseMediaAsync>().Invoke(mediaPlayerInstance); }
public VlcMediaInstance GetMediaFromMediaPlayer(VlcMediaPlayerInstance mediaPlayerInstance) { if (mediaPlayerInstance == IntPtr.Zero) { throw new ArgumentException("Media player instance is not initialized."); } return(VlcMediaInstance.New(this, myLibraryLoader.GetInteropDelegate <GetMediaFromMediaPlayer>().Invoke(mediaPlayerInstance))); }
public string GetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); var ptr = GetInteropDelegate<GetMediaMetadata>().Invoke(mediaInstance, metadata); if (ptr == IntPtr.Zero) return null; return Marshal.PtrToStringUni(ptr); }
public VlcMediaInstance CreateNewMediaFromLocation(string mrl) { EnsureVlcInstance(); using (var handle = Utf8InteropStringConverter.ToUtf8Interop(mrl)) { return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle.DangerousGetHandle()))); } }
public VlcMediaInstance CreateNewMediaFromPath(string mrl) { EnsureVlcInstance(); using (var handle = Utf8InteropStringConverter.ToUtf8StringHandle(mrl)) { return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromPath>().Invoke(myVlcInstance, handle))); } }
public string GetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var ptr = GetInteropDelegate <GetMediaMetadata>().Invoke(mediaInstance, metadata); return(Utf8InteropStringConverter.Utf8InteropToString(ptr)); }
public string GetMediaMrl(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var ptr = GetInteropDelegate <GetMediaMrl>().Invoke(mediaInstance); return(Marshal.PtrToStringAnsi(ptr)); }
public void AddOptionToMedia(VlcMediaInstance mediaInstance, string[] options) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); options = options ?? new string[0]; foreach (var option in options) { AddOptionToMedia(mediaInstance, option); } }
public void AddOptionToMedia(VlcMediaInstance mediaInstance, string option) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); if (string.IsNullOrEmpty(option)) return; var handle = GCHandle.Alloc(Encoding.ASCII.GetBytes(option), GCHandleType.Pinned); GetInteropDelegate<AddOptionToMedia>().Invoke(mediaInstance, handle.AddrOfPinnedObject()); handle.Free(); }
public string GetMediaMrl(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var ptr = myLibraryLoader.GetInteropDelegate <GetMediaMrl>().Invoke(mediaInstance); return(Utf8InteropStringConverter.Utf8InteropToString(ptr)); }
public void SetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata, string value) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } using (var handle = Utf8InteropStringConverter.ToUtf8Interop(value)) { GetInteropDelegate <SetMediaMetadata>().Invoke(mediaInstance, metadata, handle.DangerousGetHandle()); } }
public void AddOptionFlagToMedia(VlcMediaInstance mediaInstance, string option, uint flag) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(option), GCHandleType.Pinned); GetInteropDelegate <AddOptionFlagToMedia>().Invoke(mediaInstance, handle.AddrOfPinnedObject(), flag); handle.Free(); }
public MediaStatsStructure GetMediaStats(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var result = new MediaStatsStructure(); GetInteropDelegate <GetMediaStats>().Invoke(mediaInstance, out result); return(result); }
public void SetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata, string value) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(value), GCHandleType.Pinned); GetInteropDelegate <SetMediaMetadata>().Invoke(mediaInstance, metadata, handle.AddrOfPinnedObject()); handle.Free(); }
public void AddOptionFlagToMedia(VlcMediaInstance mediaInstance, string option, uint flag) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } using (var handle = Utf8InteropStringConverter.ToUtf8StringHandle(option)) { GetInteropDelegate <AddOptionFlagToMedia>().Invoke(mediaInstance, handle, flag); } }
public void AddOptionToMedia(VlcMediaInstance mediaInstance, string[] options) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } options = options ?? new string[0]; foreach (var option in options) { AddOptionToMedia(mediaInstance, option); } }
public static VlcMediaInstance New(VlcManager manager, IntPtr pointer) { var instance = allInstances.Find(delegate(VlcMediaInstance i) { return i == pointer; }); if (null == instance) { instance = new VlcMediaInstance(manager, pointer); allInstances.Add(instance); } return instance; }
public static VlcMediaInstance New(VlcManager manager, IntPtr pointer) { var instance = allInstances.Find(delegate(VlcMediaInstance i) { return(i == pointer); }); if (null == instance) { instance = new VlcMediaInstance(manager, pointer); allInstances.Add(instance); } return(instance); }
public string GetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } var ptr = GetInteropDelegate <GetMediaMetadata>().Invoke(mediaInstance, metadata); if (ptr == IntPtr.Zero) { return(null); } return(Marshal.PtrToStringAnsi(ptr)); }
public static VlcMediaInstance New(VlcManager manager, IntPtr pointer) { lock (AllInstances) { AllInstances.TryGetValue(pointer, out var instance); if (null == instance) { instance = new VlcMediaInstance(manager, pointer); AllInstances.Add(pointer, instance); } return(instance); } }
public void AddOptionToMedia(VlcMediaInstance mediaInstance, string option) { if (mediaInstance == IntPtr.Zero) { throw new ArgumentException("Media instance is not initialized."); } if (string.IsNullOrEmpty(option)) { return; } var handle = GCHandle.Alloc(Encoding.ASCII.GetBytes(option), GCHandleType.Pinned); GetInteropDelegate <AddOptionToMedia>().Invoke(mediaInstance, handle.AddrOfPinnedObject()); handle.Free(); }
public MediaTrackInfosStructure[] GetMediaTracksInformations(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); var fullBuffer = IntPtr.Zero; var cpt = GetInteropDelegate<GetMediaTracksInformations>().Invoke(mediaInstance, out fullBuffer); if (cpt <= 0) return new MediaTrackInfosStructure[0]; var result = new MediaTrackInfosStructure[cpt]; var buffer = fullBuffer; for (int index = 0; index < cpt; index++) { result[index] = (MediaTrackInfosStructure)Marshal.PtrToStructure(buffer, typeof(MediaTrackInfosStructure)); buffer = new IntPtr(buffer.ToInt32() + Marshal.SizeOf(typeof(MediaTrackInfosStructure))); } Free(fullBuffer); return result; }
public static VlcMediaInstance AddOptionToMedia(VlcMediaInstance mediaInstance, VlcManager manager, string option)
public void ReleaseMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); GetInteropDelegate<ReleaseMedia>().Invoke(mediaInstance); }
public bool IsParsedMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); return GetInteropDelegate<IsParsedMedia>().Invoke(mediaInstance) == 1; }
public bool SaveMediaMetadatas(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); return GetInteropDelegate<SaveMediaMetadatas>().Invoke(mediaInstance) == 1; }
public VlcMediaEventManagerInstance GetMediaEventManager(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); return new VlcMediaEventManagerInstance(this, GetInteropDelegate<GetMediaEventManager>().Invoke(mediaInstance)); }
public VlcMediaInstance CloneMedia(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); return new VlcMediaInstance(this, GetInteropDelegate<CloneMedia>().Invoke(mediaInstance)); }
public long GetMediaDuration(VlcMediaInstance mediaInstance) { if (mediaInstance == IntPtr.Zero) throw new ArgumentException("Media instance is not initialized."); return GetInteropDelegate<GetMediaDuration>().Invoke(mediaInstance); }
public void ParseMediaAsync(VlcMediaInstance mediaPlayerInstance) { if (mediaPlayerInstance == IntPtr.Zero) throw new ArgumentException("Media player instance is not initialized."); GetInteropDelegate<ParseMediaAsync>().Invoke(mediaPlayerInstance); }