im85288 / service.upnext

GNU General Public License v2.0
80 stars 41 forks source link

The window does not appear when using Netflix #226

Closed notoco closed 3 years ago

notoco commented 3 years ago

With last version 1.13 and last stable Netflix 1.10.1 Pop-up window does not show both when using "My List" from Netflix and from library created from Netflix. First try - library - manual scroll to end. Second try - "My List" - manual scrolling to the end. Third attempt - Demo Mode and library https://pastebin.com/YjZ80dG3 I get a bug in the Netflix add-on - but in an earlier version UpNext all works ...

MoojMidge commented 3 years ago

Can you enable debug logging in UpNext and post another log?

Debug logging can be enabled in the UpNext addon settings > Expert > Log Level > change to Debug

I suspect the problem is a combination of two things:

I have noticed that it takes some time for the the internal video state to update after the onPlaybackStarted callback executes. If you seek too early or UpNext activates too early (including seeking in demo mode) then xbmc.Player().isPlaying() returns True, but xbmc.Player().getTotalTime() and xbmc.Player().getTime() returns zero, because the actual video stream has not loaded yet. Waiting for a bit longer results in getTotalTime() and getTime() returning correct values.

In order to reliably avoid this issue I had to use onAVStart plus a 5s delay that would normally only run once when the stream was loaded, but would also restart/extend itself every time addon data was received or stream was changed, to ensure correct stream details were loaded.

In the meantime simply changing back to a fixed 5s delay on start of playback should work for most situations.

@im85288, @dagwieers, @CastagnaIT

notoco commented 3 years ago

Today I will be setting up a new box. When I'm done, I will run the tests again with debug turned on.

CastagnaIT commented 3 years ago

I have tried reproduce these errors on Windows but i could not get them

KeyError: u'percentage'
ZeroDivisionError: float division by zero

at least with last NF addon GH version so this plugin.video.netflix_1.10.1_20201105_t1.zip

In your log the Kodi debug and netflix debug setting are disabled, need to be enabled before take a log otherwise there is no complete situation

later i will try on CoreElec

notoco commented 3 years ago

Ok. Coreelec 9.2.5 on s905x3 Netflix - last build from github UpNext - from official repo https://www.dropbox.com/s/b25vcblgz2oc4ar/kodi.log?dl=0

notoco commented 3 years ago

@MoojMidge where to change it?

In order to reliably avoid this issue I had to use onAVStart plus a 5s delay that would normally only run once when the stream was loaded, but would also restart/extend itself every time addon data was received or stream was changed, to ensure correct stream details were loaded. In the meantime simply changing back to a fixed 5s delay on start of playback should work for most situations.

CastagnaIT commented 3 years ago

i have read the new log, there are two problems for NF addon, one problem (playerid value is null) i can fix easly, the other one is that json rpc not get kodi player data, seem similar to already opened issue https://github.com/xbmc/xbmc/issues/17915 but i have to go deeper I need also to know exactly from what kodi library section/menus you are play the video and if there is a library scraper set or not

notoco commented 3 years ago

It doesn't matter how I run. The same is with the Library / series / any title, the same with the embuary helper widget, and with the Netflix-My List add-on. In the library I am using nfo srapper for serials.

MoojMidge commented 3 years ago

@MoojMidge where to change it?

Here - Line 40 of player.py (located at service.upnext\resources\lib\player.py)

Change self.monitor.waitForAbort(2) back to self.monitor.waitForAbort(5)

You can see if that allows UpNext to work again.

notoco commented 3 years ago

@MoojMidge where to change it?

Here - Line 40 of player.py (located at service.upnext\resources\lib\player.py)

Change self.monitor.waitForAbort(2) back to self.monitor.waitForAbort(5)

You can see if that allows UpNext to work again.

Jupi! Działa! Works! With Netflix from github and last UpNext with this little mod. Works from library/~widget~/addon....

~Tommorow I'll send logs when using widget from embuary helper.~

And yet I won't give you logs.I have just noticed that when using the widget generating the next episode to watch,, "Skip intro" does not appear, does not detect sound properly through the AudioProfiles plug ... more problems than worth it. I fired these widgets, changed player.py 2 to 5 and everything works great. Sorry for the confusion. I close ...

notoco commented 3 years ago

@MoojMidge where to change it?

Here - Line 40 of player.py (located at service.upnext\resources\lib\player.py)

Change self.monitor.waitForAbort(2) back to self.monitor.waitForAbort(5)

You can see if that allows UpNext to work again.

Any chance to include this mod in next version?

It has been working perfectly for me for over a week. On a different box, with pure kodi, but with the same library, the unpaired version also doesn't work. The version with the fix works

notoco commented 3 years ago

I analyze for a long time and I don't know ... but if it could have anything to do with the use of the audioprofiles addon - it also uses the monitor function to detect the type of audio track at the beginning of the source ... ?

notoco commented 3 years ago

I checked 10000x audioprofiles plugin has no effect on it. In connection with the above, I repeat the question - can this change be included in the official version:

Change self.monitor.waitForAbort(2) back to self.monitor.waitForAbort(5)

Without these changes, the plugin is useless. And the change is probably not that troublesome

im85288 commented 3 years ago

Hi I'll prioritise adding this in. Thanks for testing and confirming it makes a difference.

notoco commented 3 years ago

It's also not like it doesn't quite work on the 2 second setting. However, with this setting, it sometimes does not work. I have tested on many different machines. Always works when set to 5 seconds. I tested on different versions of Netflix, on different TVShows. On pure kodi and on kodi with many different additions. Always works with 5 seconds

im85288 commented 3 years ago

To be honest I have no idea why or when it was changed. Perhaps @dagwieers has an idea?

notoco commented 3 years ago

I know. You did it so that I would not be bored and look for the cause ... ;)

dagwieers commented 3 years ago

I explained it elsewhere this was a mistake and should be reverted. Let me do that now and push a new release.

dagwieers commented 3 years ago

Sorry guys, we should have pushed this out much sooner. At least it now is queued for release in the official Kodi repositories.

notoco commented 3 years ago

Sorry guys, we should have pushed this out much sooner. At least it now is queued for release in the official Kodi repositories.

How to say it ... I have been testing for a month, turning off plugins, checking 100x different combinations of which nothing comes out, I don't even have logs to upload because there is nothing in them .. and you say sorry;) I love you guys ... ;) LOL