xbmc/xbmc — pull request #2854 by garbear (2013-06-08 22:59:27+00:00)
Title: Shotgun pull request: backports from Plex

I diff'ed the entire source tree for Plex (possibly 0.9.9.7) at https://github.com/plexinc/plex-home-theater-public (last commit on 2013-04-18) against XBMC Frodo 12.1. Most of Plex's additions are in a separate `plex/` folder, so changes in `xbmc/` were primarily bugfixes and small enhancements. I went through these changes and backported any that weren't Plex-specific.

If possible, please go through and approve or NAK any of the commits. Some fixes might be specific to Plex stuff (or just blatantly wrong), but at least they may be useful in tracking down whatever bug they're intended to fix.

Here's a list of commits that I haven't backported (due to no Apple hardware or because they need discussion before I put time into adapting them to master):

### Additional Fixes

##### [OSX] Replace all CFStringGetCString with DarwinCFStringToString
* https://github.com/plexinc/plex-home-theater-public/commit/7be5092b2

##### WinSystemOSX fixes
* https://github.com/plexinc/plex-home-theater-public/commit/c45db6867 (Tweaks to WinSystemOSX)
* https://github.com/plexinc/plex-home-theater-public/commit/11478b52f (Plex additions to WinSystemOSX)
* https://github.com/plexinc/plex-home-theater-public/commit/d120119b4 (try to fix crash on start?)

##### Run AppleScript in a background thread
* https://github.com/plexinc/plex-home-theater-public/commit/0f8ba725b (Run AppleScript in a background thread)
* https://github.com/plexinc/plex-home-theater-public/commit/c4a59259b (Clean up the async script execution a bit)
* https://github.com/plexinc/plex-home-theater-public/commit/c66b287e3 (Forgot return true)

##### CurlFile.cpp commits
* https://github.com/plexinc/plex-home-theater-public/commit/6660fa470#diff-40 (fix redirecting to a player that CURL can't handle, PUT/DELETE verbs, ticklePipe)
* https://github.com/plexinc/plex-home-theater-public/commit/aaed45cb3 (Unbreak the ticklePipe)
* https://github.com/plexinc/plex-home-theater-public/commit/d4c259f56 (Show errors from channels)

### New Features

##### [OSX] Support for native fonts
* https://github.com/plexinc/plex-home-theater-public/commit/55154e916 (Added support for native fonts)
* https://github.com/plexinc/plex-home-theater-public/commit/5ac7ab279 (possible crash we might need to check out)
* https://github.com/plexinc/plex-home-theater-public/commit/6660fa470#diff-46 (compile fixes)
* https://github.com/plexinc/plex-home-theater-public/commit/15e595d17#diff-21 (plex utility classes changed)

##### Improve cache handling for streams
* https://github.com/plexinc/plex-home-theater-public/commit/de14b2c72

##### Cache size computation in AudioDecoder
* https://github.com/plexinc/plex-home-theater-public/commit/7b72b267b