rocketman10404 4 Posted March 12, 2016 Share Posted March 12, 2016 Been having a problem for a short while now where kodi has been unable to pull down any new artwork off my emby server. I ended up wiping the client-side cached artwork files and textures database, so now I have no artwork at all. I tried to force the emby add-on to re-cache all artwork, but after it finished and I restart kodi, kodi would crash on startup. So, I wiped files/textures again. After looking into my problem in more detail, I have what appears to be a fairly simple issue. After examining my kodi.log file, every attempt my emby add-on makes to pull down some type of picture results in something like the following: 20:28:51 T:18446744072515362776 WARNING: static XFILE::IDirectory* XFILE::CDirectoryFactory::Create(const CURL&) - unsupported protocol(image) in image://http%3a%2f%2f192.168.1.2%3a8096%2femby%2fItems%2f73f51e05312a4bed5aaf003c0895c0c8%2fImages%2fBackdrop%2f0%3fMaxWidth%3d10000%26MaxHeight%3d10000%26Format%3doriginal%26Tag%3dc276025660f3a6bfa61491c0b7c9034f/ If I pull the actual http url out of that message and pop it in a web browser, I get some type of json error along the following lines: Error Code FormatException Message Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). After struggling with that for a while, I realized the URL had a trailing slash, and if I removed it, my emby server happily served up the requested image. So, the problem I seem to have is that every image request my emby add-on is making has a trailing slash on the end, which is tripping up the server side. I'm at a loss for what's causing this - I poked a bit through the source on github and can't find any explanation. It appears the add-on pulls the url for the request out of the MyVideos database and 'art' table, but upon examination I see that all of those urls are clean - no trailing slashes. Furthermore, I'm not spotting anything in the remainder of the request that would add a slash on, either. So, I'm at a loss. If anyone could help me figure out where these trailing slashes are coming from, I'd much appreciate it. Link to comment Share on other sites More sharing options...
Angelblue05 4130 Posted March 12, 2016 Share Posted March 12, 2016 Hum, that's odd, but the trailing slash is not added by us. I've never seen this issue. Are you able to run a repair sync, see if it helps (launch the emby add-on > repair sync)? Let me know. Link to comment Share on other sites More sharing options...
rocketman10404 4 Posted March 12, 2016 Author Share Posted March 12, 2016 I tried a "Repair local database (force update all content)" - doesn't seem to have helped. Log from startup attached, although there's only one (failed) attempt to cache an image from emby, still with a trailing slash. I would agree the trailing slash certainly doesn't seem to be added by the emby add-on - with a brief (and uneducated) glance through the code, the url for the images is pulled out of the database, and none of those currently in my database have trailing slashes. I don't see anything that could possibly add a slash in the code either when the urls are passed to emby. However, I wouldn't think it's on the emby side either - these should be essentially outgoing requests in the kodi log, right? Seems like something must be happening to the request on the kodi/client side, but I'm baffled as to how that would be. I also have my emby server running through a reverse nginx proxy for easier external access, although that isn't affecting this issue - you can see in the log kodi is requesting the images directly from the emby server's port and internal ip. However, I've tried modifing the nginx to config to remove trailing slashes (so I could change over the emby add-on settings), but haven't had any luck; despite all my attempts, the trailing slashes still go through, kick an error, and show up on the nginx logs. I was testing this in a web browser, not in the kodi add-on. kodi.log Link to comment Share on other sites More sharing options...
Angelblue05 4130 Posted March 12, 2016 Share Posted March 12, 2016 Could it be the path substitution in your advanced settings? Have you tried without it? Link to comment Share on other sites More sharing options...
rocketman10404 4 Posted March 13, 2016 Author Share Posted March 13, 2016 Just tried without it, but no change in behavior. Also tried disabling any other artwork-related plugins. No luck so far. Link to comment Share on other sites More sharing options...
Angelblue05 4130 Posted March 13, 2016 Share Posted March 13, 2016 @@marcelveldt Do you have any ideas on this? Link to comment Share on other sites More sharing options...
rocketman10404 4 Posted March 13, 2016 Author Share Posted March 13, 2016 (edited) After more research, I could be off base on the source of this problem - I'm not sure it's the trailing slash. Looking at my log errors again, they all contain something along these lines: unsupported protocol(image) in image://http%3a%2f%2f192.168.1.2%3a8096%2femby%2 Referencing CDirectoryFactory::Create, which looks to be part of Kodi's code. In that function definition (on GitLab for Kodi 16: https://gitlab.com/ember-dev/kodi/blob/kodi-16.0/xbmc/filesystem/DirectoryFactory.cpp), there are a bunch of if loops to catch different protocols, but nothing for "image" specifically. Not sure where this "image" is coming from yet... *Edit: my best guess is somewhere in CacheTexture located in plugin.video.emby/resources/lib/artwork.py, but at this point it's starting to go above my head Edited March 13, 2016 by rocketman10404 Link to comment Share on other sites More sharing options...
Angelblue05 4130 Posted March 13, 2016 Share Posted March 13, 2016 image:// is part of the default Kodi cached url when they are being called by Kodi. You will need to confirm two things. First, in myvideosxx.db - art table, the artwork url does not contain a trailing slash? In textures13.db - texture table, the artwork url does not contain a trailing slash? Let me know. Link to comment Share on other sites More sharing options...
rocketman10404 4 Posted March 13, 2016 Author Share Posted March 13, 2016 At this point there's really nothing in my textures13.db - nothing currently in there is related to my emby setup. In MyVideos99.db though, all of my emby content is there, and none of it has a trailing slash. Link to comment Share on other sites More sharing options...
Angelblue05 4130 Posted March 13, 2016 Share Posted March 13, 2016 Run the cache all image to Kodi texture cache by launching the emby add-on. Link to comment Share on other sites More sharing options...
Solution rocketman10404 4 Posted March 13, 2016 Author Solution Share Posted March 13, 2016 I think I've got it sorted out. In any case, it's certainly not the emby add-on's fault, so I'll stop taking your time (certainly appreciate the help). I believe it was in fact the path substitution - I tried it again without, and while it took a while, kodi started caching some images again. Thing is, the same messages still appear in the log. I think the actual problem is that my current implementation of Kodi (android version running on a Fire TV box) is currently unable to write to the usb drive. (source: http://www.aftvnews.com/some-apps-like-kodi-cannot-write-to-external-storage-yet-on-fire-os-5/) Hopefully this gets resolved elsewhere quickly enough, as my Fire TV certainly doesn't have enough internal space to cache images for my entire library. 1 Link to comment Share on other sites More sharing options...
Recommended Posts