January 1st, 2012: Source code released to the world!

TheoraPlay is a simple library to make decoding of Ogg Theora videos easier.

A tiny example to pull data out of an .ogv file is about 50 lines of C code, and a complete SDL-based media player is about 300 lines of code.

TheoraPlay is optimized for multicore CPUs, and is designed to be programmer-friendly. You will need libogg, libvorbis, and libtheora, of course, but then you just drop a .c file and two headers into your project and you're ready to hook up video decoding, without worrying about Ogg pages, Vorbis blocks, or Theora decoder state.

Places TheoraPlay can be found in use:

What works:

What doesn't work:


TheoraPlay is licensed under the zlib license. Please note that Ogg Theora itself is under a BSD-style license; TheoraPlay itself has less restrictions than Ogg Theora.


Downloading with Mercurial:

TheoraPlay's source code may be downloaded using Mercurial (aka: "hg"). Hg allows you to get up-to-the-minute fixes and enhancements; as a developer works on a source tree, you can use hg to mirror that source tree instead of waiting for an official release. Please look at the Mercurial website for more information on using hg, where you can also download software for Mac OS X, Windows, and Unix systems.

Here is the web interface to TheoraPlay's Mercurial repository.

To download TheoraPlay via Mercurial:

hg clone

Reporting bugs:

Bug reports can go to Ryan for now.

Page maintained by Ryan C. Gordon.