Example #1
0
        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;
                }
            }
        }
Example #2
0
        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);
            }
        }