Extension:TimedMediaHandler/ogv.js

The TimedMediaHandler extension now includes a copy of ogv.js, a JavaScript compatibility shim which provides Ogg and WebM playback through JavaScript allowing audio/video playback for free-codec-only sites such as Wikipedia on Safari, Internet Explorer, and Microsoft Edge browsers.

Compatibility
IE and Edge on Windows x86 and x64 (not on ARM Windows RT or Windows Phone / Windows Mobile) can make use of native WebM support by installing WebM Media Framework components or for recent Windows 10 PCs the Web Media Extensions pack; if this is present it will take priority over ogv.js. Note the IE version does not include ogg audio support.

32-bit mobile devices and some older Windows machines may be too slow to play 360p videos via ogv.js; usually a slow browser will be detected and a lower-resolution 240p video will be picked instead.

Safari for iOS 6.1 and 7 have some of the APIs necessary but are very buggy, and ogv.js will automatically disable itself there as well.

Limitations
Current limitations:
 * Slow video performance at higher resolutions and in IE 10/11

Source selection
Default 360p or 480p WebM videos should run well on most Macs and in Edge. Higher resolutions can be selected manually, but will get increasingly slower. 1080p usually will not play well, but 720p may be ok on faster machines.

A JavaScript benchmark is used to detect relatively slow machines and either disable ogv.js entirely (if very slow) or default to a lower resolution (240p).

In the future, automatic switching of sources based on available bandwidth and CPU may be used to provide smoothest possible playback without manual selection, but this requires additional development.