xbmc/xbmc — pull request #798 by jmarshallnz (2012-03-22 09:25:59+00:00)
Title: Cleanup and TextureCache changes

The first 8 commits here are basically cleanups/refactor to make things a little nicer to read, other than d789f92528a which fixes a bug.

The last 14 commits are changes to the TextureCache to prepare for video thumbs moving to the cache.

Features added:
* Extend thumb:// URL format to allow other uses.
* Store the original URL in the texture db rather than the cached URL.
* Add fallbacks to the infomanager GetImage() functions so that if the returned image fails to load it can fallback to another image (eg icon).
* Don't bother with URL hashing for the texture cache as the db is fast enough anyway.
* Add exporting functions.
* Refactor the handling of texture re-caching jobs so that it's not done in Get*(). This also reduces the chance (but doesn't eliminate) 2 threads caching the same image at the same time (which could lead to corruption).