[ffmpeg] - backport - mpegts: Make discard_pid() faster for single-program streams

When a stream contains a single program, there's no point in doing a
PID -> program lookup. Normally the one and only program isn't disabled,
so no packets should be discarded.

              Before          After
              Mean   StdDev   Mean   StdDev  Change
discard_pid()   73.8  9.4       20.2  1.5    +264.8%
Overall       2300.8 28.0     2253.1 20.6      +2.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
[ffmpeg] - backport - mpegts: Remove one 64-bit integer modulus operation per packet

The common case of the pointer having increased by one packet (which results
in no change to the modulus) can be detected with a 64-bit subtraction,
which is far cheaper than a division on many platforms.

           Before          After
           Mean   StdDev   Mean   StdDev  Change
Divisions   248.3  8.8      51.5   7.4    +381.7%
Overall    2773.2 25.6     2372.5 43.1     +16.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
[ffmpeg/patches] Add backported mpegts optimisations
music: fix crash when calling CTagLoaderTagLib::Load() through IMusicInfoTagLoader::Load() (introduced by d0a5a97e0c6c7831db382dfdc3e8650ff500acb9)

The class definition of CTagLoaderTagLib was completely screwed up. It is used
as if it was derived from IMusicInfoTagLoader but it actually wasn't.
Furthermore the signature of the CTagLoaderTagLib::Load() method was not
completely identical to the pure virtual method definition in
IMusicInfoTagLoader (std::string instead of CStdString) so it's a miracle this
didn't blow into our faces earlier.
Merge pull request #3076 from Montellese/tagloader_fix

music: fix crash when calling CTagLoaderTagLib::Load() through IMusicInfoTagLoader::Load()
Merge pull request #3073 from popcornmix/transform_type

[rbp] Fix type of transform parameter to match latest firmware
[rbp] Switch from libshairport to libshairplay for airplay
Merge pull request #3077 from popcornmix/libshairplay

[rbp] Switch from libshairport to libshairplay for airplay
Merge pull request #3060 from Montellese/settings_visible_dependency

settings: dynamically show/hide settings
[python] Monitor: add onNotification() callback to receive (JSON-RPC) notifications
Merge pull request #3070 from popcornmix/immediate_deinterlace

[rbp/omxplayer] Apply deinterlace changes immediately
Merge pull request #3069 from popcornmix/frame_advance

[rbp/omxplayer] Support frame advance with right arrow when paused
Merge pull request #3068 from popcornmix/avoid_flush_sync

[rbp/omxplayer] Avoid flushing fifos when audio/video fifos out of sync
Merge pull request #3049 from popcornmix/visualisation_sync

[rbp/omxplayer] Fix audio sync with visualisation
jni: fix BitSet classname and missing setGlobal
jni: fix cursor long type
jni: fill in Surface class
jni: clean and fixup SurfaceTexture
jni: switch WifiConfiguration to getters and setters

It can be instantiated.
jni: add missing WifiManager functions