public static void UnlockCalback(IntPtr opaque, ref IntPtr picture, ref IntPtr planes) { VLCMediaPlayer _this = PtrToMediaPlayer(opaque); _this.videoBuffer.Unlock(); }
public static void DisplayCalback(IntPtr opaque, ref IntPtr picture) { VLCMediaPlayer _this = PtrToMediaPlayer(opaque); _this.NewFrame(); System.GC.Collect(); }
public static IntPtr LockCalback(IntPtr opaque, ref IntPtr planes) { VLCMediaPlayer _this = PtrToMediaPlayer(opaque); planes = _this.videoBuffer.Lock(); return(IntPtr.Zero); }
public bool OpenMediaFromMedia(VLCMedia media) { if (media == null) { return(false); } player = new VLCMediaPlayer(lib, media); player.width = width; player.height = height; if (player == null) { return(false); } player.NewFrameEvent += delegate(object sender, INewFrameEventArgs e) { //Gtk.Application.Invoke (delegate { //Gdk.Pixbuf old = output.Pixbuf; Gdk.Pixbuf old = output.Pixbuf; output.Pixbuf = (Gdk.Pixbuf)e.frame.Clone(); if (old != null) { old.Dispose(); old = null; } //if(old!=null) //{ //old.Dispose(); //old = null; //} //}); if (NewFrameEvent != null) { NewFrameEvent(sender, e); } System.GC.Collect(); }; //player.SetDrawable (output); return(true); }
public VLCEventManager(VLCMediaPlayer player) { _instance = VLCNative.MediaPlayer.libvlc_media_player_event_manager(player.Handler); _this = GCHandle.Alloc(this); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaMetaChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaSubItemAdded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaDurationChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaParsedChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaFreed, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaStateChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaSubItemTreeAdded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerMediaChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerNothingSpecial, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerOpening, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerBuffering, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerPlaying, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerPaused, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerStopped, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerForward, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerBackward, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerEndReached, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerEncounteredError, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerPositionChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerSeekableChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerPausableChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerTitleChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerSnapshotTaken, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerLengthChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerVout, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerScrambledChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerESAdded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerESDeleted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerESSelected, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerCorked, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerUncorked, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerMuted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerUnmuted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerAudioVolume, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerAudioDevice, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaPlayerChapterChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListItemAdded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListWillAddItem, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListItemDeleted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListWillDeleteItem, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListEndReached, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListViewItemAdded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListViewWillAddItem, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListViewItemDeleted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListViewWillDeleteItem, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListPlayerPlayed, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListPlayerNextItemSet, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaListPlayerStopped, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaDiscovererStarted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_MediaDiscovererEnded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaAdded, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaRemoved, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaChanged, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStarted, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStopped, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStatusInit, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStatusOpening, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStatusPlaying, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStatusPause, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStatusEnd, Event_Process); Attach(VLCNative.libvlc_event_type_t.libvlc_VlmMediaInstanceStatusError, Event_Process); }