-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[gui][info] Remove Player.DisplayAfterSeek #21425
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was an easy one to review. 9 lines added, 101 lines deleted. All deleted lines are GUI stuff intermingled with VideoPlayer, and removing GUI dependencies from VP is definitely needed. Only lines added are comments documenting the removal. This looks like a clean, advantageous removal, so +1 from me.
Forcing visibility conditions on window controls is wrong as they must be added be the skin implementation. Progressbar, time and buffering controls were removed and must be implemented on the xml definition of the window if the skinner so desires.
89e34c6
to
6673147
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks @enen92. this works fine
https://forum.kodi.tv/showthread.php?tid=363553&pid=3098753#pid3098753 2022-05-22 - Removed Player.DisplayAfterSeek boolean condition The old Player.DisplayAfterSeek boolean condition was a design flaw of Kodi since it was coupling the videoplayer with GUI components. It was removed and replaced by the previously added Player.HasPerformedSeek(interval) boolean condition. By default Player.DisplayAfterSeek was valid for 2.5 seconds after a seek. To retain similar behaviour please use Player.HasPerformedSeek(3). Estuary and estouchy were adapted in xbmc/xbmc#21380 PR: xbmc/xbmc#21425
Description
The aforementioned infolabel is a design flaw of VP according to FernetMenta (see: #20753 (comment)) as it ties the player with the info interface.
Player.HasPerformedSeek
was introduced in #21366 as an alternative. Usages ofPlayer.DisplayAfterSeek
were removed from builtin skins (estuary and estouchy) in favor of the new infobool in #21380.This further removes all usages and the main logic of
DisplayerAfterSeek
from kodi core.While the cleanup is smooth and should not cause regressions there is a little issue in the last commit (89e34c6):
In VideoFullScreen window we were forcing visibility conditions manually on static controls. While I could have just replaced the visibility conditions with the new one I don't think it is correct. Skinners should have full control of their skin elements, i.e., shouldn't be the core to dictate when to show/hide a control. So...decided to remove them all together. Note that the big majority of skins on our repo (nexus and matrix) do not use those controls. The only two exceptions are:
skin.pelucid by @TheDeadman
https://github.com/xbmc/repo-skins/blob/matrix/skin.pellucid/1080i/VideoFullScreen.xml#L82-L92
skinner must add
<visible>player.caching</visible>
to retain same behaviorskin.amber by @bartolomesoriano
https://github.com/xbmc/repo-skins/blob/matrix/skin.amber/1080i/VideoFullScreen.xml#L74
Unsure about this one. It uses the static ids we're using but with a different type (image vs label). Likely nothing needed. Please confirm @bartolomesoriano
Motivation and context
Cleanup. Decouple stuff.
How has this been tested?
Runtime tested in estuary.
What is the effect on users?
Skinners should adapt the usage of
Player.DisplayAfterSeek
toPlayer.HasPerformedSeek(interval)