12-08-2008 01:13:59

In this thread you'll find all news mirrored from the wiki, in ascending order, meaning the latest news is in the last post (on the bottom of the last page)

Wiki news archive: ... lugin_News

Please do NOT post in this thread!


12-08-2008 01:16:34

August 7th, 2008

I've successfully implemented frame precaching and have tested it on a high-res movie (1280x564) which ran without any problems or frame drops on a 2 year old single-core laptop.
The old plugin played that same movie as a 1FPS slideshow :)


12-08-2008 01:17:11

August 10th, 2008

I've created a custom FrameListener that the plugin uses internally to update playing videos. My final goal is to make using this plugin as simple as adding it in plugins.cfg and adding a few lines in the material scripts.


12-08-2008 01:23:37

August 12th, 2008

I've done quite a lot of API changes recently. I know you're used to the old API, but you're gonna have to adapt :P There were some naming convention issues and some classes and enums names just didn't sound cool enough :D

Aside from that, I've optimized the software YUV->RGB conversion routines and have added the possibility to render Greyscale and direct YUV to a texture. The direct YUV method will be useful for shader decoding.

Before I'll release the first RC release, I intend to do the following:
* Shader YUV conversion
* More material script options
* Video loop,play,pause,stop


14-08-2008 17:10:31

August 14th, 2008

I've completed shader programs for converting YUV to RGB which should greatly accelerate the whole process. Revision 26 holds the render monkey project file for the shaders. I'll implement them in an ogre shader script and write a tutorial on the wiki tonight.


18-08-2008 11:03:52

August 18th, 2008

I've changed texture generation code to create a texture with power2 dimensions because it did not work properly on all cards and on OpenGL using the old method. I've tested the plugin on more computers at the office and it performs quite nicely :)


23-12-2008 10:26:57

December 23rd, 2008

I've been very busy with my company's projects during the past few months and was unable to work further on the plugin. This will soon change:

A very good news for the project is that I've been able to select this project as my college graduation project, which means that during the next year I intend do fully develop and document the project. Development will resume in January 2009.
If you have any feature requests or ideas, post them on the forum.


18-01-2009 14:56:26

January 18th, 2009

I've done a few tweaks on the source and project files. The next milestone would be to freeze dependencies to the stable releases rather than a specific SVN revision since theora became stable.


19-02-2009 17:21:31

February 19th, 2009

As promised, I'm returning to active development again. In the following weeks I plan to develop these features:
* Multiple videos
* Multiple worker (decoder) threads
* Automatic shader assignment wherever hardware supports it (can be overridden)
* Seeking
* Test integration with ogre resource manager, so videos can be put in zip files and other archives
* Linux build
* Add more documentation (to code and wiki)

but first, I intend to stabilize dependencies and clean up the code a bit.
So, stay tuned!


01-03-2009 22:07:19

March 1st, 2009

For the past week I've been busy with an entire plugin rewrite. When I took over the project from pjcast, the code was okay, but had some fundamental problems which prevent progress, most notably the fact that each video that was decoded started a new thread.

So far I've done the following:
* updated libtheora calls to the new API
* Seperated videos and worker threads (now, a few worker threads can decode many videos, depending on need/priority)
* ported most of the code.
* improved compiling time by carefully selecting which headers to include and which classes to forward declare instead.

This codebase is currently developed in a seperate branch. when it'll be stable enough, I'll merge it back to the trunk. excpect a few API changes.


06-03-2009 19:34:55

March 6th, 2009
I've finished working on the new plugin design and the codebase is now stable enough so I'm merging the changes back to the SVN trunk. If you need to use the older version, use the revision prior to the merge.

I'll talk more about the new code design when I finish the changes I plan to do.

what has been done so far:
* switched to the new theora API.
* worker threads separated from the VideoClip class

Next feature on my list: seeking.


16-03-2009 12:14:39

March 16th 2009
Seeking works! and quite well actually :) All that remains is to put mutexes wherever needed to ensure no multi-threading bugs.

This week I'm working on extracting audio from a theora file and am going to develop a simple demo that uses OpenAL to playback that audio.
In the future I plan to develop playback demos for OgreAL and OgreOggSound.

Stay tuned, the first public beta will hopefully be released within a week or two.


19-03-2009 22:36:36

March 19th 2009

I've successfully implemented audio functionality! You can find a demo called '''audio_openal''' in which you can play, pause and seek a theora file with audio.
The demo uses OpenAL for playback
You'll get best results with number of precached frames set to 32. In the future I plan to reorganize the way theora raw data is parsed in order to improve audio playback on lower-end machines.

'''PS:''' The wiki is needs a bit of updating, I'll get to it in a week or two.


12-04-2009 21:49:05

April 12th 2009

I've done some code cleanup, simplified the demos by merging all ogre/cegui related stuff in a shared header file. I've improved seeking a bit, fixed a few bugs and developed stereo support for the OpenAL audio interface.

There are three more major features I need to develop before I can release the first Alpha version for testing:

* Precaching audio - preloading half a second of audio for smooth audio playback. Currently, the plugin decodes audio along with the frames which makes audio work only on faster computers. As soon as some difficult frames are encountered, audio gets laggy.
* Finish seeking implementation - some general improvements for seeking.
* Documentation - I need tu update this wiki with new information and compile and publish the api reference for the plugin.

Once this is complete, plus some minor features and debugging, the first alpha version of the plugin will be released for testing. It will be a binary build, with a few demos. The source code can of course be obtained via SVN.


21-05-2009 19:51:42

May 21st 2009

Work has been done to improve stability of the plugin. Seeking is almost complete but could use some optimizations in the future.

I have been thinking a lot lately about the future roadmap for this project and believe I have come up with a perfect solution that will expand the userbase of this project significantly:

The plan is to separate this project into two parts:

* The audio/video decoding library - a powerful library with a simple high-level API that would allow the programmer to easily extract frames and audio to display in his engine of choice, be it a simple home-made engine or Ogre3D.

The programmer would not have to worry about A/V sync or seeking, the library would automatically handle this as does the current plugin

* OgreVideo plugin - the interface between Ogre3D and the above mentioned library, featuring video creation from material files as well as manual etc.

So what's different? The fact that a lot of users can benefit from this project. Theora isn't easy to work with, it is very low level. This way, you can just call a few functions and have a fully featured and optimized video player in your application.


31-10-2009 20:51:39

October 31st 2009

As promised, I'm returning to active development again. I have chosen this project as my college thesis and will work on getting this plugin to 1.0 state, and continue maintaning it in the future.

I noticed the number of people using my plugin has increased and I'm glad to see that :)

The first thing that I intend to do is to separate the project in two parts as described in my previous post.
I'm thiking of naming the abstract streaming library "lib theora streamer". If you have any suggestions for the name, now would be the time!

so, theorastreamer will be used as a base for the ogre theora video plugin, which will from now on be just a wrapper for theorastreamer for ogre. This way, everyone can benefit from this project, not just Ogre users.

Also, as I'm using this plugin for my company's needs, I'll do Mac (intel and PPC) ports of the project as well.

All of the above will be completed by the end of January, 2010! I'd also like to use this opportunity to call out all developers interested in joining the project, I'd be happy to tutor you into the codebase.


25-12-2009 18:54:53

December 24th 2009

I've recently begun working on libtheoraplayer (see previous news for more details) and have already made significant improvements:
* YUV -> RGB conversion is now twice as fast!
* smooth video restart
* added support for more conversions (RGB,RGBA,ARGB,GREY,GREY3...)
* etc

the new project is hosted on sourceforge:

Further library news and updates will be anounced on that project's website, while the ogrevideo project will become an Ogre wrapper for libtheoraplayer once version 1.0 is finished.


03-01-2010 22:58:24

January 4th 2010

libtheoraplayer 1.0 RC1 has just been released, once 1.0 is released, I'll make a wrapper for ogre as promised.

have a look at . You'll find the 1.0 RC1 SDK with five compiled demo programs to wet your appetite ;)


13-01-2010 10:03:39

January 13th 2010

I've begun working on the new ogrevideo plugin, Basically it will be an interface between [ libtheoraplayer] and Ogre.
I intend to develop on Ogre 1.6; Ogre 1.7 port (if necessary) will be done in the future.
Expect a RC1 release after the new interface is complete.

Those of you who prefer using the old version, you can find it in the SVN at branches/monolith or trunk revision 96.


14-02-2010 16:30:08

February 14th 2010

I've optimized the code a bit, simplified the frame transfer code by introducing BGR output mode into Theora Playback library. I'll work on the code in the following weeks, to make sure everything works. I'll fix the remaining demos and release 1.0 RC1 SDK.

Also, this is the last news entry that is entered via the forum, all future news will be posted on sourceforge's news page:


05-03-2012 10:12:01

March 5th 2012

I've finally returned to active development of this library, expect changes and fixes in the comming months, if not weeks ;)

read the full news post here:


02-05-2012 02:22:28

March 5th 2012

I've finally returned to active development of this library, expect changes and fixes in the comming months, if not weeks ;)

read the full news post here:

awesome news! glad to see you working back on this project.

Are you using Ogre 1.7 or 1.8 now? I had a hell of a time trying to implement the plugin in 1.7 a year or so ago. Might have to look at trying to add it again :P


02-05-2012 07:45:55

Haven't had the time to work on the ogre plugin yet. but when I will, I plan to (hopefully) support 1.6, 1.7 and 1.8. heck