Skip to content

Huge amount of onadd calls #88

@hablaras

Description

@hablaras

Hi,

I am using Eminence 2 MOD skin (on RPi3 with OSMC), which in turn utilizes Skin Helper Service and Skin Helper Widgets.

Issue: movies start really slow after a couple of repeated starts:

Playing and stopping one movie in a movie set, starts it almost immediate
Immediately playing and stopping a second movie, starts the movie after a couple of seconds
Immediately playing and stopping a third movie after that, starts the movie after a couple of minutes!

When opening a movie set with 2 movies, there is no performance / starting issue:

23:06:04.359 T:1937765360 DEBUG: StartScript - calling plugin Skin Helper Service('plugin://script.skin.helper.service/','1','?action=getcast&downloadthumbs=true&movie=')
23:06:19.145 T:1742255088 DEBUG: Skin Helper Service --> plugin called with parameters: {u'action': u'getcast', u'downloadthumbs': u'true'}
23:06:42.452 T:1443886064 DEBUG: Skin Helper Service --> Started Background worker...
23:06:58.496 T:1443886064 DEBUG: Skin Helper Service --> Ended Background worker...
23:07:07.514 T:1688515568 DEBUG: StartScript - calling plugin Skin Helper Service('plugin://script.skin.helper.service/','2','?action=alphabet&reload=')
23:07:09.777 T:1395651568 DEBUG: Skin Helper Service --> plugin called with parameters: {u'action': u'alphabet'}
23:07:50.686 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":2456,"type":"movie"},"playlistid":1,"position":0}
23:07:50.687 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":2458,"type":"movie"},"playlistid":1,"position":1}
23:07:51.681 T:1937765360 DEBUG: StartScript - calling plugin Skin Helper Service('plugin://script.skin.helper.service/','3','?action=getcast&downloadthumbs=true&movie=Movie 1')
23:07:52.251 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Player.OnPlay - data: {"item":{"id":2456,"type":"movie"},"player":{"playerid":1,"speed":1}}
23:08:51.126 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Player.OnStop - data: {"end":false,"item":{"id":2456,"type":"movie"}}
23:08:51.647 T:1937765360 DEBUG: StartScript - calling plugin Skin Helper Service('plugin://script.skin.helper.service/','4','?action=alphabet&reload=0')
23:08:51.916 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: VideoLibrary.OnUpdate - data: {"item":{"id":2456,"type":"movie"}}
23:08:53.952 T:1688515568 DEBUG: Skin Helper Service --> plugin called with parameters: {u'action': u'alphabet', u'reload': u'0'}
23:09:42.674 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnClear - data: {"playlistid":1}
23:09:42.675 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":2457,"type":"movie"},"playlistid":1,"position":0}
23:09:44.468 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Player.OnPlay - data: {"item":{"id":2457,"type":"movie"},"player":{"playerid":1,"speed":1}}

All my home movies of 7 years are in one huge set with 2100+ items. When you try to start a movie it debug logs this:

23:10:32.586 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Player.OnStop - data: {"end":false,"item":{"id":2457,"type":"movie"}}
23:10:33.575 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: VideoLibrary.OnUpdate - data: {"item":{"id":2457,"type":"movie"}}
23:11:45.621 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnClear - data: {"playlistid":1}
23:11:46.022 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":1,"type":"movie"},"playlistid":1,"position":0}
23:11:46.023 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":2,"type":"movie"},"playlistid":1,"position":1}
23:11:46.024 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":3,"type":"movie"},"playlistid":1,"position":2}

23:12:44.718 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":2110,"type":"movie"},"playlistid":1,"position":2109}
23:12:44.718 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Playlist.OnAdd - data: {"item":{"id":2111,"type":"movie"},"playlistid":1,"position":2110}
23:12:44.719 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Player.OnPlay - data: {"item":{"id":2091,"type":"movie"},"player":{"playerid":1,"speed":1}}
23:12:46.806 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: Player.OnStop - data: {"end":false,"item":{"id":2091,"type":"movie"}}
23:12:47.032 T:1695667184 DEBUG: Skin Helper Service --> plugin called with parameters: {u'action': u'getcast', u'movie': u'20170506-1453-00825', u'downloadthumbs': u'true'}
23:12:47.155 T:1715516400 DEBUG: Skin Helper Service --> Kodi_Monitor: sender xbmc - method: VideoLibrary.OnUpdate - data: {"item":{"id":2091,"type":"movie"}}

... and more or less the same number of .OnAdd logging with Skin Helper Widgets

I've been using this skin (or variants of it) for years without issue, but now it is.

As a test, I removed the skin and Skin Helper services and just used the OSMC Skin and then the delay in starting movies does not occur.

The delay (and massive Playlist.OnAdd logs) happens when starting a movie using either:

Skin Helper Service 1.1.3 and 1.1.15 (from your beta repository)
Skin Helper Widgets 1.0.22 and 1.0.28 (from your beta repository)

Has this functionality been added recently? It also causes the CPU usage to be 150% on my RPi3 for minutes, while it normally idles at 10%

I guess the .OnAdd is running in the background and keeps adding to a queue when you repeatedly start/stop movies?

Can this process be improved or eliminated, perhaps via a addon setting?

Greetings,

Hablaras

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions