johny5
18-07-2009 18:18:10
Hello.
I've reviewed your small project of Theora integration with Ogre.
A couple comments:
1. Small syntax bug, Theora Video Frame, line 48: delete[] mBuffer
2. Function requestWork
TheoraVideoClip* TheoraVideoManager::requestWork()
{
if (mClips.size() == 0) return NULL;
return mClips.front();
}
implemented in such a way, that it'll not allow to decode more than one video clip simultaneously. It refers to the Handle multiple videos thread
3. If you're using threads - it's time to consider synchronizations. This naive code:
mClip->mAssignedWorkerThread=this;
mClip->decodeNextFrame();
mClip->mAssignedWorkerThread=NULL;
would never work properly.
Good luck!
I've reviewed your small project of Theora integration with Ogre.
A couple comments:
1. Small syntax bug, Theora Video Frame, line 48: delete[] mBuffer
2. Function requestWork
TheoraVideoClip* TheoraVideoManager::requestWork()
{
if (mClips.size() == 0) return NULL;
return mClips.front();
}
implemented in such a way, that it'll not allow to decode more than one video clip simultaneously. It refers to the Handle multiple videos thread
3. If you're using threads - it's time to consider synchronizations. This naive code:
mClip->mAssignedWorkerThread=this;
mClip->decodeNextFrame();
mClip->mAssignedWorkerThread=NULL;
would never work properly.
Good luck!