skin.estuary
skin.estuary copied to clipboard
OSD - progressbar and "knob" are not in sync
as this video shows, the progress bar and the knob indicating current position are not moving at the same speed. Not sure if it's something the skin can influence or if it's a core issue.
https://youtu.be/gx4_0WijHFQ
@FernetMenta The knob is a slider from DialogSeekbar (id 401), the progress bar uses Player.Progress infolabel. Is it normal that these two are not synced 100%?
Please elaborate on "those two". Player.Progress and xxx?
xxx = this here i think: https://github.com/phil65/xbmc/blob/favourites_reload/xbmc/dialogs/GUIDialogSeekBar.cpp#L71
That is a major flow of the entire gui. GuiInfoManger polls the current state on every query from the underlying layers instead getting the values from a cache. As a result control x may get a different value than control y on the same rendering cycle. Because both bother i.e. player with a call to GetTime. Between the two calls playing time moves forward.
Ok, thx for explanation. So I assume it is nothing I can fix on skin layer, correct?
I would start by fixing those kind of expressions :)
(unsigned int)(static_cast<float>(g_infoManager.GetPlayTime()) / g_infoManager.GetTotalPlayTime() * 0.1f));
Fix pending: https://github.com/xbmc/xbmc/pull/11125