public VlcMediaInstance CreateNewMediaFromLocation(string mrl)
 {
     using (var handle = Utf8InteropStringConverter.ToUtf8StringHandle(mrl))
     {
         return(VlcMediaInstance.New(this, myLibraryLoader.GetInteropDelegate <CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle)));
     }
 }
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 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 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 VlcMediaInstance CreateNewMediaFromLocation(string mrl)
        {
            EnsureVlcInstance();

            using (var handle = Utf8InteropStringConverter.ToUtf8Interop(mrl))
            {
                return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromLocation>().Invoke(myVlcInstance, handle.DangerousGetHandle())));
            }
        }
Exemple #7
0
        public VlcMediaInstance CreateNewMediaFromPath(string mrl)
        {
            EnsureVlcInstance();

            using (var handle = Utf8InteropStringConverter.ToUtf8StringHandle(mrl))
            {
                return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromPath>().Invoke(myVlcInstance, handle)));
            }
        }
Exemple #8
0
 public VlcMediaInstance CreateNewMediaFromFileDescriptor(int fileDescriptor)
 {
     return(VlcMediaInstance.New(this, myLibraryLoader.GetInteropDelegate <CreateNewMediaFromFileDescriptor>().Invoke(myVlcInstance, fileDescriptor)));
 }
Exemple #9
0
        public VlcMediaInstance CreateNewMediaFromFileDescriptor(int fileDescriptor)
        {
            EnsureVlcInstance();

            return(VlcMediaInstance.New(this, GetInteropDelegate <CreateNewMediaFromFileDescriptor>().Invoke(myVlcInstance, fileDescriptor)));
        }