r805: Ogg renderfarm support
This extensive patch implements true renderfarm rendering 'out of the box' support for ogg vorbis+theora video.
No more you are left with multiple files that you have to mux yourself.
Basically what it does is special distribution of the workload among nodes and then it automatically muxes the results.
- whole audio range is rendered as a single package by single node (due to non-packetnes of audio compression, it cannot gracefully be broaken into smaller packages)
- video range is divided in number of packages specified in renderfarm preferences
- when all packages are finished, cinelerra automatically muxes all the files together to get the final file (all the references in codecs are properly updated)
- temporary files are deleted, and only final file is left
To implement this, i've needed to make a new class hirarchy to be able to cleanly implement stuff...
Everything is done in a way to support mpeg2 TS A+V distributed rendering in the same way in the future (as it is discussed currently on the mailing list)
As a 'colateral damage' some bugs were found in fileogg.C and are also fixed by this patch...
I haven't completely abstracted the PackatingEngine from the PackageDispatcher... i've just done it for single pass render farm mode, which leaves some work for PackageDispatcher. If there is a problem with this, i can fix it... adam?
So have fun rendering to OGG _really_fast_ :)
p.s.: this was direct need we have in Cyberpipe, since we do a lot of ogg vorbis+theora encoding... (http://video.kiberpipa.org)