Kodi Community Forum

Full Version: "Unsupported protocol(XXXXX) in XXXX" warning during video library clean
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Apologies if this is posted in the wrong section (mods: please move to a more appropriate section) but with the latest Gotham built from git I'm seeing a bunch of warnings that are output each time I clean the video library:

Code:
18:55:55 1698.400513 T:3057644320  NOTICE: CleanDatabase: Starting videodatabase cleanup ..
18:56:14 1717.515259 T:3057644320 WARNING: CreateLoader - Unsupported protocol(rtmp) in rtmp://31.220.0.86:1935/redirect playpath=ssnxx swfurl=http://www.udemy.com/static/flash/player5.9.swf live=1 timeout=15 swfvfy=1 pageurl=http://www.reyhq.com/embed1.php?live=ssnxx&vw=600&vh=410
...
18:56:15 1718.218018 T:3057644320 WARNING: CreateLoader - Unsupported protocol(plugin) in plugin://plugin.video.youtube/?action=play_video&videoid=YUswKg7zQIo&hd=1
18:56:15 1718.219238 T:3057644320 WARNING: CreateLoader - Unsupported protocol(plugin) in plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid=jYkyq8E0qJM
18:56:20 1723.294312 T:3057644320  NOTICE: CleanDatabase: Cleaning videodatabase done. Operation took 00:24

Debug log

Should clean be processing these protocols (ie. removing them?) and if not, why is it complaining about them? It seems to leave them untouched, so each subsequent clean warns about more items in addition to those it warned about previously.
This is likely because they're not directory protocols, and it's doing a CDirectory::Exists() on them, which dumps this stuff out.
I'm just wondering if the warning is appropriate, and since there isn't an obvious way to remove these items from the database, you'll just be getting more and more warnings over time... a quick fix might be to make them DEBUG?
I have the same issue in all my add-ons. Can someone explain how to set info properties on a list item properly?

Code:
item = xbmcgui.ListItem('title', thumbnailImage=image)
item.setInfo(type='video', infoLabels={'genre': 'genre', 'plot': 'desc' })

Results in: WARNING: CreateLoader - unsupported protocol(plugin) in plugin://plugin.video....

Any help would be appreciated!

P.S.: Kodi Isengard 15.2
Sorry for noice.

The answer is simple:

WRONG:
Code:
url="http://www.sample-videos.com/video/mp4/480/big_buck_bunny_480p_10mb.mp4"
uri = sys.argv[0] + '?mode=play&url=%s' % url
item = xbmcgui.ListItem(title, thumbnailImage=image)

item.setInfo(type='video', infoLabels={'genre': 'genre', 'plot': 'desc' })
item.setProperty('IsPlayable', 'true')

xbmcplugin.addDirectoryItem(pluginhandle, uri, item, False)

CORRECT:

Code:
url="http://www.sample-videos.com/video/mp4/480/big_buck_bunny_480p_10mb.mp4"

URI=url
item = xbmcgui.ListItem(title, thumbnailImage=image)

item.setInfo(type='video', infoLabels={'genre': 'genre', 'plot': 'desc' })
item.setProperty('IsPlayable', 'true')

xbmcplugin.addDirectoryItem(pluginhandle, URI, item, False)

Thanks to @ironic_monkey
See: http://forum.kodi.tv/showthread.php?tid=...pid2174378
As @ironic_monkey states here: http://forum.kodi.tv/showthread.php?tid=...pid2174378

"2) if you want to return playble items, you either
- return a directly playable url (e.g. a http:// url). in that case your url's are all wrong, you don't want to append shit to sys.argv[0].
- or return a plugin:// items and mark it playable, then deal with the resolve of the url using setResolveUrl on callback from ui. this means you have to encode the information needed to resolve the real media url in the plugin:// url returned earlier."

If the playable list item needs to call additional methods to resolve the url ("return a plugin:// items and mark it playable..." from above) it seems the unsupported protocol warnings are unavoidable.

Although it does look like there is at least one hack to suppress the log spew: http://forum.kodi.tv/showthread.php?tid=131209