Implemented GUI feedback for playback errors#1828
Conversation
e521a77 to
6c72e6b
Compare
|
@CastagnaIT from architectural point of view I'm asking myself whether an input stream add-on should really have GUI dependencies. I consider those add-ons purely backends, not frontends. |
|
@ksooo mainly the InputStream API interface dont allow a GUI feedback when the then users are unable to understand what is not working, and so whether it is something they can fix themselves, or whether they should report it as a possible bug currently when playback fails for X reason, mainly two things happen:
At the moment i see this as the only possible solution PS. anyway was already used GUI also for the manual stream selection (Ask quality) |
6c72e6b to
55a3499
Compare
|
Firstly, I don't want to block this PR, I'm only sharing some thoughts. If you feel to merge, I will not be in the way.
So that is the actual problem that should be fixed first. Not an easy task, but imo the right approach.
That's not an excuse to make it even worse by putting more GUI stuff into the add-on. If we ever want to have headless Kodi, where ia add-on can be used to serve streams, then things like "stream selection dialog" will just not work. And to make it work at least by means of not failing the add-on then would need to know about that headless mode, just because it mixed backend end frontend functionality together. You see my point? |
yes i had already understood all this since before i did this PR i don't think it's the right time at today to make big changes on API for the Piers branch, since i guess the first releases aren't long in coming Have a method to know from the addon whether the headless mode is enabled, yeah can help to handle particular use cases,
in case you don't know, the "Ask quality" feature (that make use stream selection dialog) has to be set manually through GUI addon settings or specific properties, whoever sets it "should" know what they are doing, generally if you don't have a GUI you don't go and set up a feature that requires it |
Problem with that is that kodi can’t know how to properly ignore the call. Does ignore mean ‘cancel’, is it automatically return an empty string, the first entry of a list, … ?
works by luck for this settings, may not for others. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
|
add future todos to roadmap InputStream Adaptive - Roadmap |
|
@CastagnaIT wow, nice addition!! I think it helps a lot of users to understand what is wrong. One of the most frequently issue users of pvr.waipu are reporting to me is "it is not working", which is usually caused by missing/wrong Widevine installation. If users now see the error messages in UI, they can hopefully help themselves. |
There is light and there is dark, with this. Now, the user gets presented two error message boxes (at least this happened to me yesterday). First box is raised by the addon, second raised by Kodi (the usual "some blabla failed to play. See log for blabla...") And, for me the addon error message was like "failed to parse manifest". Not sure a normal user understands that very technical stuff. For me, those messages are rather something for a debug/error entry in the log file. |
this is quite random, not always kodi core shown a kind of "error" message when playback fails Edit: also one case is, when you start playback but ISA for x reasons do not provide packets to the demuxer, and so VP stops without any message, VP thinks the playback is finished but behind there is another problem if ISA dont provide packets despite sometimes there is a chance that two messages will be shown, it is always better now than before if for you this is very annoying
yes some errors are more technical, but for some of them i could use a more general message that suggest to read the log for more details about the problem |
Thanks, no need for that. Gladly, I encounter isa errors really very seldom. |
Description
Finally users will be happy to know what goes wrong with the playback
without necessarily having to read the debug log
this implementation will not make use of the localizations (language translations) of error details
because it would be too extensive a task and subject to frequent change depending on code change,
the only localization is done in the "generic" error message (Unable to play the stream)
GUI messages cover the most common problems that can occur during playback initialization, such as this example
Sidenote:
i have removed
LogFfrom cdm library, i noticed only now that was conflicting withLogFdefines in the utils/log.hMotivation and context
When a playback fails for X reasons Kodi most of the time returns to the video list without letting the user know what happened... (sometimes there is a generic message "one or more items failed to play" but is not shown always)
so users are forced to read the debug log to know reasons for playback problems, or randomly try to blame something
a media player usually lets the user know what happened in a minimal way
but this currently is not supported by using InputStream API interface
hint from comment #1803 (comment)
and partially fix #497
about this last one, they also talk about revoked CDM widevine versions therefore no longer working, in this case we do not have the possibility to verify the situation in advance, the only possible way is to intercept a possible HTTP 400 error from the license request, which however not always this error code can have this specific meaning. theoretically, i think there should be a way to make a call to the ISHelper add-on to initiate a check/download of a different version of the CDM, but this is out of scope of this PR
How has this been tested?
Screenshots (if appropriate):
Types of change
Checklist: