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, GetInteropDelegate <CreateNewMediaFromCallbacks>().Invoke( myVlcInstance, CallbackOpenMediaDelegate, CallbackReadMediaDelegate, CallbackSeekMediaDelegate, CallbackCloseMediaDelegate, opaque )); return(result); }
public VlcMediaInstance GetMediaFromMediaPlayer(VlcMediaPlayerInstance mediaPlayerInstance) { if (mediaPlayerInstance == IntPtr.Zero) { throw new ArgumentException("Media player instance is not initialized."); } return(VlcMediaInstance.New(this, GetInteropDelegate <GetMediaFromMediaPlayer>().Invoke(mediaPlayerInstance))); }
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 VlcMediaInstance CreateNewMediaFromLocation(string mrl) { EnsureVlcInstance(); using (var handle = Utf8InteropStringConverter.ToUtf8StringHandle(mrl)) { return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle))); } }
public VlcMediaInstance CreateNewMediaFromFileDescriptor(int fileDescriptor) { EnsureVlcInstance(); return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromFileDescriptor>().Invoke(myVlcInstance, fileDescriptor))); }