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
[PVR] [confluence] [WIP] timeshift GUI #9045
Conversation
@@ -308,6 +309,12 @@ void CPVRGUIInfo::UpdateTimeshift(void) | |||
tmp.SetFromUTCDateTime(iTimeshiftPlayTime); | |||
std::string strTimeshiftPlayTime = tmp.GetAsLocalizedTime("", true); | |||
|
|||
time_t iTimeshiftDelay = iTimeshiftEndTime-iTimeshiftPlayTime; |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Regarding functionality: How will it look like if timeshift buffer start is before the start of the currently playing event or timeshift buffer end is after the end of the currently playing event or both or if there is no current epg event at all? BTW, I really appreciate that you picked up this topic. It is so long overdue, if you ask me. Thanks. |
@ksooo the marker will be placed on the show running at that time, so the end marker can be on the next epgtag while the start marker is still on the previous epgtag. Let's say you are watching show b, but the timeshift start position is somewhere on show a. Now, if you skip back in time, over the start position of show b, show a will be displayed and also the start marker (the stopmarker is invisible as it's on show b). What do you think of removing methods? |
Sorry, not sure I understand that. Simple question: What is start and end of the progressbar representing? Start/end of the currently running show or start/end of the timeshift buffer?
its not just about future. There are channels that do not have epg data at all, but ofc timeshifting should work for those channels as well. => #9025 |
@ksooo without epg: |
Okay, thanks. |
msgctxt "#31041" | ||
msgid "Timeshifting: " | ||
msgstr "" | ||
|
||
#empty string with id 31041 |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@ksooo the current GUI methods are a bit messy and are also causing other issues and glitches, mainly in the video OSD (jumping progressbar, flickering video and audio details,..). So I'll need to address those first before adding new functionality to wrong code. I'll add some commits later this evening. |
Improvements in this area are really very appreciated. Thanks for taking a look. |
As a user, how would I know that I can back to the last show or even the show before that one? |
please elaborate. I have been using those for quite some while and did not notice those issues. |
@FernetMenta I was referring esp. to these problems, not to the current timeshift guiinfo labels which are working fine for me (For my personal kodi build, I'm using confluence timeshift UI based on your initial approach ;-) |
…calculated with outdated timeshift info, this fixes a issue with jumping timeshift markers
1bd24dc
to
e172079
Compare
@ksooo Added some more commits. @FernetMenta EDIT: You can just skip back to the previous show by rewinding, you can go back in time until the progress bar hits the timeshift start marker. The same thing applies when forwarding towards the live point. PVRGUIInfo will now take care of the gui data for the current active channel, with or without timeshift/epg data. This Somehow fools the player as we do not want to get the 'real' player data in the osd, but we want to get the data relative to the current epg event and/or timeshift buffer. |
I already mentioned this to @ksooo. Further relating playing time with epg info is dead end. With this changes info comes from 3 different sources: PVRManager (addon), EPG, g_application (asks player). As a result you need rather ugly hacks like this Glenn-1990@68f20c8
This assumption is wrong. We definitely don't want to do this. |
@Glenn-1990 in order to avoid possible disappointment if your changes get rejected I suggest that you elaborate on what you are trying to achieve in advance. This PR creates quite a lot circular dependencies that won't get merged. |
@FernetMenta Yes we are using data from 3 different places, but this was already the case, so you suggest to pass everything to the player and let guiinfo fetch it from here, also timeshift info? |
I'll push my small fixes in a separate PR to get started :p |
I know and I had a similar discussion with @ksooo just a couple of days ago. We need some changes in this area before we start to add new behaviour which makes redesign harder.
player accesses PVR through InputStreamPVRManager. I think we can simplify a lot if we convey all information through this path. Then we can keep the state of the various parameters consistent. It also simplifies work for the skinners. They don't need to create different items for normal FileItems and PVR. |
@Glenn-1990 FYI; there is a long dicussion thread in the forum with ideas for timeshift buffer indicator, see: |
@FernetMenta, Yes passing everything through InputStreamPVRManager seems the best idea. Only why do you want to get start and stop times directly from the addon? In this way, the info on the osd might be different than the (outdated) info from the epg grid and that might confuse people. At least with tvheadend and pvr api 5.0 the epg grid should be up to date at every moment. |
Pulling information from different sources is error prone. In case of start/end time it never worked reliable. Further the introduced constraints make no sense. The resulting workarounds even make less sense. Why should a tv show without an epg record in the epg container have to start/end times displayed? You and ksoo worked around this issue by saying ok "either epg data or timeshift". Lets wait some time longer and the next case/conditions will be introduced.
if this is the case your first sentence is wrong
|
I'll close this for now, as confluence is not the default skin anymore. So feel free to redo it for estuary, if wanted. |
Does @HitcherUK have a repo for v17 Confluence? |
@razzeee Doesn't the patch in this PR go deeper than Confluence skin mods? Maybe reo-pen and replace the Confluence specific changes with Estuary? |
We can always reopen if somebody actually has the work done. |
As @FernetMenta pointed out, PVRGUIInfo/GUIInfo should be reworked first to get it inline with normal video playback, but I've no space time for that at the moment. |
Confluence is missing a good timeshift indicator, also the timeshift gui methods seems a bit limited or unusefull.
My idea is to add markers to the process bar, these markers will indicate the start en stop buffer position. Also the timeshift delay will be shown when not at the live point.
PLAYER_PROGRESS_CACHE will now also point to the timeshift buffer end, in this way existing skins will also show the buffer, I'm not sure if this is correct though..
All other timeshift (older) methods seems a bit useless and can be deleted to reduce code complexity?
Updates from markers and delay time seems a bit bumpy from time to time, but I think that's a common issue with PVRGUIInfo, still investigating.
@ksooo @xhaggi @ronie @Jalle19