예제 #1
0
 internal AudioOutputDescription(string name, string description, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     Name                  = name;
     Description           = description;
     myManager             = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
     Devices               = new AudioOutputDevices(this, manager, myMediaPlayerInstance);
 }
예제 #2
0
 public VideoManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
     Tracks        = new VideoTracksManagement(manager, mediaPlayerInstance);
     Marquee       = new MarqueeManagement(manager, mediaPlayerInstance);
     Logo          = new LogoManagement(manager, mediaPlayerInstance);
     Adjustments   = new AdjustmentsManagement(manager, mediaPlayerInstance);
 }
예제 #3
0
        internal VlcMediaPlayer(VlcManager manager, string[] options)
        {
            Manager = manager;
            Manager.CreateNewInstance(options);

            myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
            Video     = new VideoManagement(manager, myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, myMediaPlayerInstance);
        }
예제 #4
0
        public VlcMediaPlayer(VlcManager manager)
        {
            Manager = manager;
            myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
            Video     = new VideoManagement(manager, myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, myMediaPlayerInstance);
#if !NET20 && !NET35 && !NET40
            Dialogs = new DialogsManagement(manager, myMediaPlayerInstance);
#endif
        }
예제 #5
0
 private void ResetFromMediaCore(Control ctrl)
 {
     VideoHostControlHandle = IntPtr.Zero;
     var mediaInstance = GetMedia().MediaInstance;
     if (ctrl != null)
         ctrl.GetType().GetMethod("RecreateHandle", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(ctrl, null);
     myMediaPlayerInstance.Pointer = IntPtr.Zero;
     myMediaPlayerInstance = Manager.CreateMediaPlayerFromMedia(mediaInstance);
     RegisterEvents();
     Chapters = new ChapterManagement(Manager, myMediaPlayerInstance);
     SubTitles = new SubTitlesManagement(Manager, myMediaPlayerInstance);
     Video = new VideoManagement(Manager, myMediaPlayerInstance);
     Audio = new AudioManagement(Manager, myMediaPlayerInstance);
     if (ctrl != null)
         VideoHostControlHandle = ctrl.Handle;
 }
예제 #6
0
        private void ResetFromMediaCore(Control ctrl)
        {
            VideoHostControlHandle = IntPtr.Zero;
            var mediaInstance = GetMedia().MediaInstance;

            if (ctrl != null)
            {
                ctrl.GetType().GetMethod("RecreateHandle", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(ctrl, null);
            }
            myMediaPlayerInstance.Pointer = IntPtr.Zero;
            myMediaPlayerInstance         = Manager.CreateMediaPlayerFromMedia(mediaInstance);
            RegisterEvents();
            if (ctrl != null)
            {
                VideoHostControlHandle = ctrl.Handle;
            }
        }
예제 #7
0
        internal VlcMediaPlayer(VlcManager manager)
        {
            Manager = manager;
#if DEBUG
            Manager.CreateNewInstance(new[]
            {
                "--extraintf=logger",
                "--verbose=2"
            });
#else
            Manager.CreateNewInstance(null);
#endif
            myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, myMediaPlayerInstance);
            Video     = new VideoManagement(manager, myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, myMediaPlayerInstance);
        }
예제 #8
0
        internal VlcMediaPlayer(VlcManager manager)
        {
            Manager = manager;
            // SUR: Configure VLC options at startup
            Manager.CreateNewInstance(new string[]
            {
#if DEBUG_TODO
                "--extraintf=logger",
                "--verbose=2",
#else
                "--quiet",
#endif
                //"--play-and-pause",   // NOTE: SUR: Pauses at end of video
            });

            _myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, _myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, _myMediaPlayerInstance);
            Video     = new VideoManagement(manager, _myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, _myMediaPlayerInstance);
        }
 public DialogsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #10
0
 internal AudioTracksManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #11
0
 public ChapterManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #12
0
 internal AudioOutputDevices(AudioOutputDescription audioOutputDescription, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myAudioOutputDescription = audioOutputDescription;
     _manager = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
 }
예제 #13
0
 public LogoManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     _manager      = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #14
0
 public MarqueeManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #15
0
 public AdjustmentsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     myManager     = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #16
0
        internal static List <AudioOutputDescription> GetSubOutputDescription(AudioOutputDescriptionStructure module, VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
        {
            var result = new List <AudioOutputDescription>();

            result.Add(new AudioOutputDescription(module.Name, module.Description, manager, mediaPlayerInstance));
            if (module.NextAudioOutputDescription != IntPtr.Zero)
            {
                AudioOutputDescriptionStructure nextModule = (AudioOutputDescriptionStructure)Marshal.PtrToStructure(module.NextAudioOutputDescription, typeof(AudioOutputDescriptionStructure));
                var data = GetSubOutputDescription(nextModule, manager, mediaPlayerInstance);
                result.AddRange(data);
            }
            return(result);
        }
 internal AudioOutputsManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     _manager = manager;
     myMediaPlayerInstance = mediaPlayerInstance;
 }
 internal VideoTracksManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     _manager      = manager;
     myMediaPlayer = mediaPlayerInstance;
 }
예제 #19
0
 public SubTitlesManagement(VlcManager manager, VlcMediaPlayerInstance mediaPlayerInstance)
 {
     _manager             = manager;
     _mediaPlayerInstance = mediaPlayerInstance;
 }