On Mon, Oct 7, 2013 at 9:01 AM, Brion Vibber bvibber@wikimedia.org wrote:
As an experiment, I've built Xiph's ogg, vorbis, and theora C libraries cross-compiled to JavaScript
[snip]
Performance on iOS devices isn't great, but is better with lower resolution files :)
I've also started on an experimental native iOS library for .ogg/.oga/.ogv playback, again cross-compiling the existing Xiph ogg, vorbis, and theora reference libraries as the actual decoder:
https://github.com/brion/OgvKit
It's still a proof of concept, currently without color conversion, sane drawing code, audio, playback controls, etc, but the demo successfully plays a small 3-second sample video I pulled from Commons: < https://commons.wikimedia.org/wiki/File:Peacock_Mating_Call.ogg%3E
Note that doing custom video decoding like this will still be a lot less efficient and user-friendly than using native, hardware-accelerated .mp4/H.264/AAC playback, but would be *much* faster for iPhones and iPads than the JavaScript version... and a hell of a lot better as a fallback position than "no audio/video for you".
(Unfortunately you can't download an installable build yet due to Apple's restrictions on third-party app installation. If anybody's interested in testing, I'll continue to do some experimenting on this on the weekends and could make builds available via TestFlight. Let me know!)
-- brion