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; Chapters = new ChapterManagement(Manager, _myMediaPlayerInstance); SubTitles = new SubTitlesManagement(Manager, _myMediaPlayerInstance); Video = new VideoManagement(Manager, _myMediaPlayerInstance); Audio = new AudioManagement(Manager, _myMediaPlayerInstance); } }
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 void ReturnVideo(Video video) { VideoManagement.ReturnVideo(video); }