1.4 Theora Support In 1.3
by Jon Wilsdon · 10/16/2005 (12:31 am) · 12 comments
It isn't too terribly difficult. Let me try to go through the process... I assume you have gotten 1.4 from CVS and you also have a copy of 1.3. The following is for Visual Studio in Windows, but it should give you a good idea of the source files that have changed for any operating system or for another IDE.
copy 1.4/example/OpenAL32.dll to 1.3/example/OpenAL32.dll (this replaces an existing file)
copy 1.4/example/wrap_oal.dll to 1.3/example/wrap_oal.dll
copy 1.4/engine/gui/shiny/guiTheoraCtrl.cc to 1.3/engine/gui/guiTheoraCtrl.cc
copy 1.4/engine/gui/shiny/guiTheoraCtrl.h to 1.3/engine/gui/guiTheoraCtrl.h
copy 1.4/engine/core/theoraPlayer.cc to 1.3/engine/core/theoraPlayer.cc
copy 1.4/engine/core/theoraPlayer.h to 1.3/engine/core/theoraPlayer.h
copy 1.4/engine/core/dataChunker.h to 1.3/engine/core/dataChunker.h (this replaces an existing file)
copy 1.4/engine/audio/oggMixedStreamSource.cc to 1.3/engine/audio/oggMixedStreamSource.cc
copy 1.4/engine/audio/oggMixedStreamSource.h to 1.3/engine/audio/oggMixedStreamSource.h
copy 1.4/engine/platform/platformAudio.h to 1.3/engine/platform/platformAudio.h (this replaces an existing file)
copy 1.4/engine/audio/audioStreamSourceFactory.cc to 1.3/engine/audio/audioStreamSourceFactory.cc (this replaces an existing file)
create a new folder in 1.3/engine/ that is called util/
copy 1.4/engine/util/SafeDelete.h to 1.3/engine/util/SafeDelete.h
copy the whole 1.4/lib/xiph directory to 1.3/lib/xiph (you probably want to remove the CVS directories after copying)
if you are using visual studio 7:
copy 1.4/vc7/vc7fix.cpp to 1.3/vc7/vc7fix.cpp then load up the solution and add vc7fix.cpp to the project (probably just under the Source Files directory icon)
load up the solution file in visual studio
in the solution:
add a new folder called util/
add util/safeDelete.h
add gui/guiTheoraCtrl.cc
add gui/guiTheoraCtrl.h
add core/theoraPlayer.cc
add core/theoraPlayer.h
add audio/oggMixedStreamSource.cc
add audio/oggMixedStreamSource.h
In your Solution Explorer in Visual Studio right click on Torque Demo and click Properties. Select Linker, then Input on the left and in the Additional Dependencies on the right, change ../lib/vorbis/win32/ogg_static.lib to ../lib/xiph/win32/ogg_static.lib and ../lib/vorbis/win32/vorbis_static_mt.lib to ../lib/xiph/win32/vorbis_static_mt.lib and then add ../lib/xiph/win32/theora_static.lib
Then click on C/C++ on the left and in the Additional Include Directories change ../lib/vorbis/include to ../lib/xiph/include
Code changes:
at the top of gui/GuiTheoraCtrl.cc change
at the top of gui/GuiTheoraCtrl.cc change
in platform/platform.h scroll down to around line 203 right after the struct Platform and add:
at the end of platformWin32/winTime.cc add:
at the end of audio/audio.cc add:
And now you should be able to build the game with Theora support.
To test it you can create a video folder in your example/starter.fps/data/ directory then copy over the 1.4/example/demo/data/video/soundTest.ogg file to the video directory you just created.
As a simple test, in your example/starter.fps/client/ui/ folder open up mainMenuGui.gui and add the following into the gui:
so the gui should look something like:
Start the starter.fps and get to the main menu. Bring down the console and type:
and the video should play.
Update: February 03, 2006
The 1.4 Theora code was updated to include mutexes, which breaks the above resource. I am no longer actively using the code above, so it went unnoticed for awhile, and if there are any further changes, they will probably go unnoticed by me as well. However, I spent a few minutes to update the resource to work with the current state, which I can't guarantee I will be able to do in the future. So, without further ado, here are the quick changes that get the theora code with mutexes to work:
copy 1.4/engine/platform/platformMutex.h to 1.3/engine/platform/platformMutex.h (this replaces an existing file)
copy 1.4/engine/platformWin32/winMutex.cc to 1.3/engine/platformWin32/winMutex.cc (this replaces an existing file)
then after all of the other #ifndefs at the top of core/theoraPlayer.h
and now your theoraPlayer shouldn't give you errors about mutexes.
This probably isn't the most robust way to do it since the mutex changes seemingly got added to SimBase and some other things in 1.4, but it at least got the theoraPlayer to compile again. Unless there is a really pressing need to stick with 1.3, I would recommend updating to 1.4 as this resource will probably get outdated again.
Jon
copy 1.4/example/OpenAL32.dll to 1.3/example/OpenAL32.dll (this replaces an existing file)
copy 1.4/example/wrap_oal.dll to 1.3/example/wrap_oal.dll
copy 1.4/engine/gui/shiny/guiTheoraCtrl.cc to 1.3/engine/gui/guiTheoraCtrl.cc
copy 1.4/engine/gui/shiny/guiTheoraCtrl.h to 1.3/engine/gui/guiTheoraCtrl.h
copy 1.4/engine/core/theoraPlayer.cc to 1.3/engine/core/theoraPlayer.cc
copy 1.4/engine/core/theoraPlayer.h to 1.3/engine/core/theoraPlayer.h
copy 1.4/engine/core/dataChunker.h to 1.3/engine/core/dataChunker.h (this replaces an existing file)
copy 1.4/engine/audio/oggMixedStreamSource.cc to 1.3/engine/audio/oggMixedStreamSource.cc
copy 1.4/engine/audio/oggMixedStreamSource.h to 1.3/engine/audio/oggMixedStreamSource.h
copy 1.4/engine/platform/platformAudio.h to 1.3/engine/platform/platformAudio.h (this replaces an existing file)
copy 1.4/engine/audio/audioStreamSourceFactory.cc to 1.3/engine/audio/audioStreamSourceFactory.cc (this replaces an existing file)
create a new folder in 1.3/engine/ that is called util/
copy 1.4/engine/util/SafeDelete.h to 1.3/engine/util/SafeDelete.h
copy the whole 1.4/lib/xiph directory to 1.3/lib/xiph (you probably want to remove the CVS directories after copying)
if you are using visual studio 7:
copy 1.4/vc7/vc7fix.cpp to 1.3/vc7/vc7fix.cpp then load up the solution and add vc7fix.cpp to the project (probably just under the Source Files directory icon)
load up the solution file in visual studio
in the solution:
add a new folder called util/
add util/safeDelete.h
add gui/guiTheoraCtrl.cc
add gui/guiTheoraCtrl.h
add core/theoraPlayer.cc
add core/theoraPlayer.h
add audio/oggMixedStreamSource.cc
add audio/oggMixedStreamSource.h
In your Solution Explorer in Visual Studio right click on Torque Demo and click Properties. Select Linker, then Input on the left and in the Additional Dependencies on the right, change ../lib/vorbis/win32/ogg_static.lib to ../lib/xiph/win32/ogg_static.lib and ../lib/vorbis/win32/vorbis_static_mt.lib to ../lib/xiph/win32/vorbis_static_mt.lib and then add ../lib/xiph/win32/theora_static.lib
Then click on C/C++ on the left and in the Additional Include Directories change ../lib/vorbis/include to ../lib/xiph/include
Code changes:
at the top of gui/GuiTheoraCtrl.cc change
#include "gui/core/guiControl.h" to #include "gui/guiControl.h"
at the top of gui/GuiTheoraCtrl.cc change
#include "gui/shiny/guiTheoraCtrl.h" to #include "gui/guiTheoraCtrl.h"
in platform/platform.h scroll down to around line 203 right after the struct Platform and add:
static void sleep(U32 ms);
at the end of platformWin32/winTime.cc add:
void Platform::sleep(U32 ms)
{
Sleep(ms);
}at the end of audio/audio.cc add:
AudioStreamSource* alxFindAudioStreamSource(AUDIOHANDLE handle)
{
StreamingList::iterator itr2 = mStreamingList.findImage(handle);
if(itr2)
return *itr2;
return NULL;
}And now you should be able to build the game with Theora support.
To test it you can create a video folder in your example/starter.fps/data/ directory then copy over the 1.4/example/demo/data/video/soundTest.ogg file to the video directory you just created.
As a simple test, in your example/starter.fps/client/ui/ folder open up mainMenuGui.gui and add the following into the gui:
new GuiTheoraCtrl(theo) {
profile = "GuiDefaultProfile";
horizSizing = "relative";
vertSizing = "relative";
position = "40 25";
extent = "320 240";
minExtent = "8 2";
visible = "1";
done = "0";
stopOnSleep = "1";
backgroundColor = "0 0 0 255";
};so the gui should look something like:
//--- OBJECT WRITE BEGIN ---
new GuiChunkedBitmapCtrl(MainMenuGui) {
profile = "GuiContentProfile";
horizSizing = "width";
vertSizing = "height";
position = "0 0";
extent = "640 480";
minExtent = "8 8";
visible = "1";
bitmap = "./background";
useVariable = "0";
tile = "0";
helpTag = "0";
new GuiTheoraCtrl(theo) {
profile = "GuiDefaultProfile";
horizSizing = "relative";
vertSizing = "relative";
position = "40 25";
extent = "320 240";
minExtent = "8 2";
visible = "1";
done = "0";
stopOnSleep = "1";
backgroundColor = "0 0 0 255";
};
new GuiButtonCtrl() {
profile = "GuiButtonProfile";
horizSizing = "right";
vertSizing = "top";
position = "36 413";
extent = "110 20";
minExtent = "8 8";
visible = "1";
command = "quit();";
text = "Quit!";
groupNum = "-1";
buttonType = "PushButton";
helpTag = "0";
};
...Start the starter.fps and get to the main menu. Bring down the console and type:
Theo.setFile("starter.fps/data/video/soundtest.ogg");and the video should play.
Update: February 03, 2006
The 1.4 Theora code was updated to include mutexes, which breaks the above resource. I am no longer actively using the code above, so it went unnoticed for awhile, and if there are any further changes, they will probably go unnoticed by me as well. However, I spent a few minutes to update the resource to work with the current state, which I can't guarantee I will be able to do in the future. So, without further ado, here are the quick changes that get the theora code with mutexes to work:
copy 1.4/engine/platform/platformMutex.h to 1.3/engine/platform/platformMutex.h (this replaces an existing file)
copy 1.4/engine/platformWin32/winMutex.cc to 1.3/engine/platformWin32/winMutex.cc (this replaces an existing file)
then after all of the other #ifndefs at the top of core/theoraPlayer.h
#ifndef _PLATFORMMUTEX_H_ #include "platform/platformMutex.h" #endif
and now your theoraPlayer shouldn't give you errors about mutexes.
This probably isn't the most robust way to do it since the mutex changes seemingly got added to SimBase and some other things in 1.4, but it at least got the theoraPlayer to compile again. Unless there is a really pressing need to stick with 1.3, I would recommend updating to 1.4 as this resource will probably get outdated again.
Jon
#2
Excellent resource! It's exactly what I've been needing for a long time. My project requires multiple video clips and the guiAviBitmap control wasn't doing what I wanted it to -- so your Theora strategy is ideal.
This worked like a charm for me except for a few path name references in the file copy instructions (missing the 'engine' reference for some of them). But that's easy for people to catch and correct during the implementation process.
Anyway, thanks for posting this super-cool resource.
@Ben
Thanks for all the work you've done on 1.4 -- especially the Theora stuff. It's a real lifesaver.
10/17/2005 (7:30 pm)
@JonExcellent resource! It's exactly what I've been needing for a long time. My project requires multiple video clips and the guiAviBitmap control wasn't doing what I wanted it to -- so your Theora strategy is ideal.
This worked like a charm for me except for a few path name references in the file copy instructions (missing the 'engine' reference for some of them). But that's easy for people to catch and correct during the implementation process.
Anyway, thanks for posting this super-cool resource.
@Ben
Thanks for all the work you've done on 1.4 -- especially the Theora stuff. It's a real lifesaver.
#3
Glad to hear it worked for you.
I believe I have added 'engine' everywhere it needs to be in the copy instructions and in the one create folder instruction. I also fixed the one misspelling of 'example'.
Jon
10/18/2005 (1:35 pm)
@AaronGlad to hear it worked for you.
I believe I have added 'engine' everywhere it needs to be in the copy instructions and in the one create folder instruction. I also fixed the one misspelling of 'example'.
Jon
#4
And Ben i hope you understand how much we appreciate the work you doing.
10/19/2005 (4:05 am)
Great Resource Jon ,Very useful.And Ben i hope you understand how much we appreciate the work you doing.
#5
:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2065: 'createMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2440: '=' : cannot convert from 'int' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2065: 'destroyMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'MutexHandle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'handle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(38) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(91) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(92) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(107) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(108) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(125) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(126) : error C2228: left of '.lock' must have class/struct/union type
oggMixedStreamSource.cc
12/01/2005 (9:26 pm)
i get this error:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2065: 'createMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2440: '=' : cannot convert from 'int' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2065: 'destroyMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'MutexHandle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'handle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(38) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(91) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(92) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(107) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(108) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(125) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(126) : error C2228: left of '.lock' must have class/struct/union type
oggMixedStreamSource.cc
#6
but if i try to run the program using OpenAL32.dll of v 1.4 i did not hear any sound but if i tried using old OpenAL32.dll it working fine but i am getting this
MagicalTrevor::advancetime - no last occurrence for buffer 74381952 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382008 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382064 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382120 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382176 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382232 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382288 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382344 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382400 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382456 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382456 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382512 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382568 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382624 found!
any idea
12/01/2005 (11:41 pm)
ok i correct the erro i chaned my platform.h and winmutex.cc files.but if i try to run the program using OpenAL32.dll of v 1.4 i did not hear any sound but if i tried using old OpenAL32.dll it working fine but i am getting this
MagicalTrevor::advancetime - no last occurrence for buffer 74381952 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382008 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382064 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382120 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382176 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382232 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382288 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382344 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382400 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382456 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382456 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382512 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382568 found!
MagicalTrevor::advancetime - no last occurrence for buffer 74382624 found!
any idea
#7
Please help, be gentle on me with the computer lingo...I am not a programmer :P
Thanks!
01/03/2006 (3:41 pm)
I am having a hell of a time getting the videos to encode properly... They all seem to turn red in the middle of the video and the screen also splits into 2 showing what looks like 2 videos at once about halfway in. I also ran the -sync command but the video and sound is still off (but it may have something to do with the split video thing.) Everything seems ok in the vid till about halfway in, then its like the encoder had errors or something.Please help, be gentle on me with the computer lingo...I am not a programmer :P
Thanks!
#8
tho.setFile("filename",true,true); but at consloe i m gettting error theo::setFile - wrong number of arguments.
01/04/2006 (12:11 am)
how i can play movie in loop i look at SetFile parameters and passingtho.setFile("filename",true,true); but at consloe i m gettting error theo::setFile - wrong number of arguments.
#9
01/17/2006 (5:48 pm)
Excellent resource! I'm going to give it a try tomorrow! I'll let you know if I have any problems. Using VC7.
#10
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2065: 'createMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2440: '=' : cannot convert from 'int' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2065: 'destroyMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'MutexHandle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'handle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(38) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(91) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(92) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(107) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(108) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(125) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(126) : error C2228: left of '.lock' must have class/struct/union type
oggMixedStreamSource.cc
I am getting the same stuff.
01/18/2006 (11:42 pm)
@Vishal how did you fix this one exactly:D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2065: 'createMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(24) : error C2440: '=' : cannot convert from 'int' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2653: 'Mutex' : is not a class or namespace name
D:\Torque\SDK\engine\core\theoraPlayer.cc(32) : error C2065: 'destroyMutex' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'MutexHandle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(37) : error C2065: 'handle' : undeclared identifier
D:\Torque\SDK\engine\core\theoraPlayer.cc(38) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(91) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(92) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(107) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(108) : error C2228: left of '.lock' must have class/struct/union type
D:\Torque\SDK\engine\core\theoraPlayer.cc(125) : error C2146: syntax error : missing ';' before identifier 'handle'
D:\Torque\SDK\engine\core\theoraPlayer.cc(126) : error C2228: left of '.lock' must have class/struct/union type
oggMixedStreamSource.cc
I am getting the same stuff.
#11
as anyone experienced any major difficulties with migrating the current 1.4 version of this Theora code to a 1.3 base? I most interested in how you got around the new multithreaded stuff such as Thread and Mutex, and how applicable it was when inside of 1.3. The author of this resource hints at some incompatibilities, has anyone experienced this?
thanks
05/16/2006 (5:20 pm)
Hi,as anyone experienced any major difficulties with migrating the current 1.4 version of this Theora code to a 1.3 base? I most interested in how you got around the new multithreaded stuff such as Thread and Mutex, and how applicable it was when inside of 1.3. The author of this resource hints at some incompatibilities, has anyone experienced this?
thanks
#12
But the game crashes if there is audio in the Theora file.
There is no problem without audio in the file.
Any idea?
Thanks
:-)
08/10/2007 (10:58 am)
Works great for me after some minor changes from my side.But the game crashes if there is audio in the Theora file.
There is no problem without audio in the file.
Any idea?
Thanks
:-)

Associate Kyle Carter