From dd49089309920e9dd76f826d94267c60ebc26c40 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Wed, 21 Nov 2018 21:22:33 +0000 Subject: [PATCH] Add new functions to stream modules --- app/ModulesHandle.cpp | 9 ++++++++- modules/StreamCodingH264.cpp | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/ModulesHandle.cpp b/app/ModulesHandle.cpp index 4c7933c..c6dbf2b 100644 --- a/app/ModulesHandle.cpp +++ b/app/ModulesHandle.cpp @@ -369,7 +369,8 @@ void ModulesHandle::activateModule() } } - bool bRequiresWindow = ( pcCurrAppModuleIf->m_pcModule->m_uiModuleRequirements & CLP_MODULE_REQUIRES_NEW_WINDOW ) || + bool bRequiresWindow = ( pcCurrAppModuleIf->m_pcModule->m_iModuleType == CLP_STREAM_PROCESSING_MODULE ) || + ( pcCurrAppModuleIf->m_pcModule->m_uiModuleRequirements & CLP_MODULE_REQUIRES_NEW_WINDOW ) || m_arrayActions[FORCE_NEW_WINDOW_ACT]->isChecked() || bTmpForceNewWindow; @@ -422,6 +423,11 @@ void ModulesHandle::activateModule() } } + std::vector apcStreamList; + for( int i = 0; i < videoSubWindowList.size(); i++ ) + { + apcStreamList.push_back( pcCurrAppModuleIf->m_pcSubWindow[i]->getCurrStream() ); + } std::vector apcFrameList; for( int i = 0; i < videoSubWindowList.size(); i++ ) { @@ -432,6 +438,7 @@ void ModulesHandle::activateModule() bool moduleCreated = false; if( pcCurrAppModuleIf->m_pcModule->m_iModuleType == CLP_STREAM_PROCESSING_MODULE ) { + moduleCreated = pcCurrAppModuleIf->m_pcModule->create( apcStreamList ); } else if( pcCurrAppModuleIf->m_pcModule->m_iModuleAPI == CLP_MODULE_API_2 ) { diff --git a/modules/StreamCodingH264.cpp b/modules/StreamCodingH264.cpp index d3625a3..bd747dd 100644 --- a/modules/StreamCodingH264.cpp +++ b/modules/StreamCodingH264.cpp @@ -33,8 +33,8 @@ StreamCodingH264::StreamCodingH264() m_pchModuleLongName = "H.264/AVC"; m_pchModuleName = "H264StreamCoding"; m_pchModuleTooltip = "Encode video stream using H.264/AVC standard (libx264)"; - m_uiNumberOfFrames = 2; - m_uiModuleRequirements = CLP_MODULE_REQUIRES_OPTIONS | CLP_MODULE_REQUIRES_NEW_WINDOW; + m_uiNumberOfFrames = 1; + m_uiModuleRequirements = CLP_MODULE_REQUIRES_OPTIONS; m_cModuleOptions.addOptions() /**/ ( "QP", m_iCRF, "Quantization parameter" );