(CORRECTED)[Bug T3D 1.0.1] Theora video crash on Mac Mini GMA950 - LOGGED
by Nicolas Buquet · in Torque 3D Professional · 04/13/2010 (3:28 am) · 2 replies
Trying to integrate a video in theora format on my main menu screen, it works on my MacBookPro (8600M GT, 512 MB, Mac OSX 10.5.8), but it crashes on my MacMini (GMA950 share memory, 2 GB RAM, 10.6.3).
The transcoder property of the GuiTheoraCtrl is set to "Auto".
Nicolas Buquet
www.buquet-net.com/cv/
Thread 3 Crashed: 0 ...gegames.MS Bundle 0x119cdbed .wloop_sse + 136 1 ...gegames.MS Bundle 0x119ce480 OggTheoraDecoder::read(OggTheoraFrame**, unsigned int) + 480 2 ...gegames.MS Bundle 0x11ad423f TheoraTexture::FrameReadItem::execute() + 53 3 ...gegames.MS Bundle 0x11cf45dc ThreadPool::WorkItem::process() + 24 4 ...gegames.MS Bundle 0x11cf4da9 ThreadPool::WorkerThread::run(void*) + 269 5 ...gegames.MS Bundle 0x11cff9d1 ThreadRunHandler(void*) + 73 6 libSystem.B.dylib 0x95952a19 _pthread_start + 345 7 libSystem.B.dylib 0x9595289e thread_start + 34
The transcoder property of the GuiTheoraCtrl is set to "Auto".
Nicolas Buquet
www.buquet-net.com/cv/
About the author
Torque 3D Owner Nicolas Buquet
bool OggInputStream::_pullNextPage( ogg_page* page) { // Read another page. while( ogg_sync_pageout( &mOggSyncState, page ) != 1 ) //while( ogg_sync_pageout( &mOggSyncState, page ) <= 0 // && mStream->getStatus() != Stream::EOS ) { enum { BUFFER_SIZE = 4096 }; // Read more data. char* buffer = ogg_sync_buffer( &mOggSyncState, BUFFER_SIZE ); const U32 oldPos = mStream->getPosition(); mStream->read( BUFFER_SIZE, buffer ); const U32 numBytes = mStream->getPosition() - oldPos; if( numBytes ) ogg_sync_wrote( &mOggSyncState, numBytes ); else return false; } #ifdef DEBUG_SPEW Platform::outputDebugString( "[OggInputStream] pulled next page (header: %i, body: %i)", page->header_len, page->body_len ); #endif return true; }