Restore threads to apply modules

This commit is contained in:
jfmcarreira committed 2015-04-17 21:09:55 +01:00
1 parent ca31e9e933
commit e47d0df889
7 files changed
+87 -73

No files matched your search

+16 -60
View File
@@ -385,7 +385,7 @@ Void ModulesHandle::enableModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
}
}
applyModuleIf( pcCurrModuleIf, false );
applyModuleIf( pcCurrModuleIf, false, true );
QCoreApplication::processEvents();
if( pcModuleSubWindow )
@@ -400,40 +400,7 @@ Void ModulesHandle::destroyModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
{
if( pcCurrModuleIf )
{
if( pcCurrModuleIf->m_pcModuleDock )
{
pcCurrModuleIf->m_pcModuleDock->close();
pcCurrModuleIf->m_pcModuleDock = NULL;
}
if( pcCurrModuleIf->m_pcDockWidget )
{
pcCurrModuleIf->m_pcDockWidget->close();
pcCurrModuleIf->m_pcDockWidget = NULL;
}
if( pcCurrModuleIf->m_pcDisplaySubWindow )
pcCurrModuleIf->m_pcDisplaySubWindow->closeSubWindow();
pcCurrModuleIf->m_pcDisplaySubWindow = NULL;
for( Int i = 0; i < MAX_NUMBER_FRAMES; i++ )
{
if( pcCurrModuleIf->m_pcSubWindow[i] )
{
pcCurrModuleIf->m_pcSubWindow[i]->disableModule( pcCurrModuleIf );
pcCurrModuleIf->m_pcSubWindow[i] = NULL;
}
}
if( pcCurrModuleIf->m_pcModuleStream )
{
pcCurrModuleIf->m_pcModuleStream->close();
delete pcCurrModuleIf->m_pcModuleStream;
pcCurrModuleIf->m_pcModuleStream = NULL;
}
if( pcCurrModuleIf->m_pcModule )
{
pcCurrModuleIf->m_pcModule->destroy();
pcCurrModuleIf->m_pcModule->Delete();
pcCurrModuleIf->m_pcModule = NULL;
}
pcCurrModuleIf->destroy();
}
}
@@ -462,10 +429,10 @@ Bool ModulesHandle::applyModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf, Bool isP
{
#ifdef PLAYUVER_THREADED_MODULES
if( !disableThreads )
pcCurrModuleIf->start();
pcCurrModuleIf->start();
else
#endif
pcCurrModuleIf->run();
pcCurrModuleIf->run();
if( pcCurrModuleIf->m_pcDisplaySubWindow || pcCurrModuleIf->m_pcModule->m_iModuleType == FRAME_MEASUREMENT_MODULE )
{
@@ -560,29 +527,26 @@ Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
}
}
Bool ModulesHandle::showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf, PlaYUVerFrame* processedFrame )
Void ModulesHandle::showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
{
Bool bRet = false;
//if( processedFrame )
switch( pcCurrModuleIf->m_pcModule->m_iModuleType )
{
case FRAME_PROCESSING_MODULE:
if( pcCurrModuleIf->m_pcDisplaySubWindow )
{
pcCurrModuleIf->m_pcDisplaySubWindow->setCurrFrame( processedFrame );
bRet = true;
pcCurrModuleIf->m_pcDisplaySubWindow->setCurrFrame( pcCurrModuleIf->m_pcProcessedFrame );
pcCurrModuleIf->m_pcDisplaySubWindow->clearWindowBusy();
}
else
{
pcCurrModuleIf->m_pcSubWindow[0]->setCurrFrame( processedFrame );
pcCurrModuleIf->m_pcSubWindow[0]->setCurrFrame( pcCurrModuleIf->m_pcProcessedFrame );
pcCurrModuleIf->m_pcSubWindow[0]->clearWindowBusy();
}
break;
case FRAME_MEASUREMENT_MODULE:
pcCurrModuleIf->m_pcModuleDock->setModulueReturnValue( pcCurrModuleIf->m_dMeasurementResult );
break;
}
return bRet;
}
Bool ModulesHandle::showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf, Double moduleResult )
{
Bool bRet = false;
pcCurrModuleIf->m_pcModuleDock->setModulueReturnValue( moduleResult );
return bRet;
}
Void ModulesHandle::swapModulesWindowsIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
@@ -605,15 +569,7 @@ Void ModulesHandle::customEvent( QEvent *event )
PlaYUVerAppModuleIf::EventData *eventData = ( PlaYUVerAppModuleIf::EventData* )event;
if( eventData->m_bSuccess )
{
switch( eventData->m_pcModule->m_pcModule->m_iModuleType )
{
case FRAME_PROCESSING_MODULE:
showModuleIf( eventData->m_pcModule, eventData->m_pcModule->m_pcProcessedFrame );
break;
case FRAME_MEASUREMENT_MODULE:
showModuleIf( eventData->m_pcModule, eventData->m_pcModule->m_dMeasurementResult );
break;
}
showModuleIf( eventData->m_pcModule );
}
}