public void HandleCommandsChanged(Element playbin) { InDvdMenu = false; // Get available command to know if player is in menu // FIXME: GlobalVideo should be Gst.Video.Global Gst.Query query = Global.NavigationQueryNewCommands(); NavigationCommand[] cmds; if (Navigation == null) { FindNavigation(playbin); } if (!(NavigationElement.Query(query) && NavigationAdapter.ParseCommands(query, out cmds))) { return; } foreach (NavigationCommand cmd in cmds) { switch (cmd) { case NavigationCommand.Activate: case NavigationCommand.Left: case NavigationCommand.Right: case NavigationCommand.Up: case NavigationCommand.Down: InDvdMenu = true; break; default: break; } } }
private void OnSyncMessage(object o, SyncMessageArgs args) { Message message = args.Message; var src = message.Src as Element; if (src == null) { return; } if (!Global.IsVideoOverlayPrepareWindowHandleMessage(message)) { return; } bool found_xoverlay = FindXOverlay(); if (found_xoverlay) { xoverlay.WindowHandle = video_window_xid.Value; xoverlay.HandleEvents(true); } }