From ab54ac7a63839d276ff3fbb8c8b506b27895d338 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 3 May 2025 01:43:35 +0200 Subject: [PATCH] DATV demod: prepare for server version --- plugins/channelrx/demoddatv/CMakeLists.txt | 43 ++++++++++++------- plugins/channelrx/demoddatv/datvdemodsink.cpp | 23 ++++++---- plugins/channelrx/demoddatv/datvdemodsink.h | 6 ++- 3 files changed, 47 insertions(+), 25 deletions(-) diff --git a/plugins/channelrx/demoddatv/CMakeLists.txt b/plugins/channelrx/demoddatv/CMakeLists.txt index 627bdd694..421ac2b0a 100644 --- a/plugins/channelrx/demoddatv/CMakeLists.txt +++ b/plugins/channelrx/demoddatv/CMakeLists.txt @@ -3,17 +3,14 @@ project(datv) set(datv_SOURCES datvdemod.cpp - datvdemodgui.cpp datvdemodplugin.cpp datvdemodsettings.cpp datvdemodwebapiadapter.cpp datvideostream.cpp datvudpstream.cpp - datvideorender.cpp datvdemodreport.cpp datvdemodsink.cpp datvdemodbaseband.cpp - datvdvbs2ldpcdialog.cpp leansdr/dvb.cpp leansdr/filtergen.cpp leansdr/framework.cpp @@ -30,19 +27,14 @@ set(ldpc_SOURCES set(datv_HEADERS datvdemod.h - datvdemodgui.h datvdemodplugin.h datvdemodsettings.h datvdemodwebapiadapter.h datvideostream.h datvudpstream.h - datvideorender.h - datvconstellation.h - datvdvbs2constellation.h datvdemodreport.h datvdemodsink.h datvdemodbaseband.h - datvdvbs2ldpcdialog.h leansdr/dvb.h leansdr/dvbs2.h leansdr/filtergen.h @@ -59,6 +51,31 @@ set(ldpc_HEADERS ldpctool/ldpcworker.h ) +if(NOT SERVER_MODE) + set(datv_SOURCES + ${datv_SOURCES} + datvdemodgui.ui + datvdvbs2ldpcdialog.ui + datvideorender.cpp + ) + set(datv_HEADERS ${datv_HEADERS} + datvdemodgui.h + datvdvbs2ldpcdialog.h + datvideorender.h + datvconstellation.h + datvdvbs2constellation.h + ) + set(TARGET_NAME ${PLUGINS_PREFIX}demoddatv) + set(TARGET_LIB Qt::Widgets Qt::Multimedia Qt::MultimediaWidgets) + set(TARGET_LIB_GUI "sdrgui") + set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR}) +else() + set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddatvsrv) + set(TARGET_LIB "") + set(TARGET_LIB_GUI "") + set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR}) +endif() + include_directories( ${AVCODEC_INCLUDE_DIRS} ${AVFORMAT_INCLUDE_DIRS} @@ -68,10 +85,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ) -set(TARGET_NAME ${PLUGINS_PREFIX}demoddatv) -set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR}) - - if(NOT Qt6_FOUND) add_library(${TARGET_NAME} ${datv_SOURCES} ${ldpc_SOURCES}) else() @@ -84,11 +97,9 @@ endif() target_link_libraries(${TARGET_NAME} PRIVATE Qt::Core - Qt::Widgets - Qt::Multimedia - Qt::MultimediaWidgets + ${TARGET_LIB} sdrbase - sdrgui + ${TARGET_LIB_GUI} ${AVCODEC_LIBRARIES} ${AVFORMAT_LIBRARIES} ${AVUTIL_LIBRARIES} diff --git a/plugins/channelrx/demoddatv/datvdemodsink.cpp b/plugins/channelrx/demoddatv/datvdemodsink.cpp index d7cb0a520..10d7a65ac 100644 --- a/plugins/channelrx/demoddatv/datvdemodsink.cpp +++ b/plugins/channelrx/demoddatv/datvdemodsink.cpp @@ -342,10 +342,11 @@ void DATVDemodSink::CleanUpDATVFramework() } //CONSTELLATION +#ifndef SERVER_MODE if (r_scope_symbols != nullptr) { delete r_scope_symbols; } - +#endif // INPUT if (p_rawiq != nullptr) { delete p_rawiq; @@ -406,11 +407,11 @@ void DATVDemodSink::CleanUpDATVFramework() if (p_deframer != nullptr) { delete (leansdr::s2_deframer*) p_deframer; } - +#ifndef SERVER_MODE if (r_scope_symbols_dvbs2 != nullptr) { delete r_scope_symbols_dvbs2; } - +#endif ResetDATVFrameworkPointers(); } @@ -499,7 +500,9 @@ void DATVDemodSink::ResetDATVFrameworkPointers() r_videoplayer = nullptr; //CONSTELLATION +#ifndef SERVER_MODE r_scope_symbols = nullptr; +#endif //DVB-S2 p_slots_dvbs2 = nullptr; @@ -514,7 +517,9 @@ void DATVDemodSink::ResetDATVFrameworkPointers() r_fecdecsoft = nullptr; r_fecdechelper = nullptr; p_deframer = nullptr; +#ifndef SERVER_MODE r_scope_symbols_dvbs2 = nullptr; +#endif } void DATVDemodSink::InitDATVFramework() @@ -762,7 +767,7 @@ void DATVDemodSink::InitDATVFramework() } //constellation - +#ifndef SERVER_MODE if (m_tvScreen) { qDebug("DATVDemodSink::InitDATVFramework: Register DVB constellation TV screen"); @@ -772,7 +777,7 @@ void DATVDemodSink::InitDATVFramework() r_scope_symbols->cstln = &m_objDemodulator->cstln; r_scope_symbols->calculate_cstln_points(); } - +#endif r_merMeter = new leansdr::datvmeter(m_objScheduler, *p_mer); r_cnrMeter = new leansdr::datvmeter(m_objScheduler, *p_cnr); @@ -1068,7 +1073,7 @@ void DATVDemodSink::InitDATVS2Framework() m_cstlnSetByModcod = false; //constellation - +#ifndef SERVER_MODE if (m_tvScreen) { qDebug("DATVDemodSink::InitDATVS2Framework: Register DVBS 2 TVSCREEN"); @@ -1077,7 +1082,7 @@ void DATVDemodSink::InitDATVS2Framework() r_scope_symbols_dvbs2->cstln = (leansdr::cstln_base**) &objDemodulatorDVBS2->cstln; r_scope_symbols_dvbs2->calculate_cstln_points(); } - +#endif r_merMeter = new leansdr::datvmeter(m_objScheduler, *p_mer); r_cnrMeter = new leansdr::datvmeter(m_objScheduler, *p_cnr); @@ -1206,10 +1211,12 @@ void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const Sample { qDebug("DATVDemodSink::feed: change by MODCOD detected"); + // Update constellation +#ifndef SERVER_MODE if (r_scope_symbols_dvbs2) { r_scope_symbols_dvbs2->calculate_cstln_points(); } - +#endif if (getMessageQueueToGUI()) { DATVDemodReport::MsgReportModcodCstlnChange *msg = DATVDemodReport::MsgReportModcodCstlnChange::create( diff --git a/plugins/channelrx/demoddatv/datvdemodsink.h b/plugins/channelrx/demoddatv/datvdemodsink.h index f75f4417b..7670b1c9e 100644 --- a/plugins/channelrx/demoddatv/datvdemodsink.h +++ b/plugins/channelrx/demoddatv/datvdemodsink.h @@ -30,9 +30,11 @@ #include "leansdr/hdlc.h" #include "leansdr/iess.h" +#ifndef SERVER_MODE #include "datvconstellation.h" -#include "datvmeter.h" #include "datvdvbs2constellation.h" +#endif +#include "datvmeter.h" #include "datvvideoplayer.h" #include "datvideostream.h" #include "datvudpstream.h" @@ -314,8 +316,10 @@ private: leansdr::datvvideoplayer *r_videoplayer; //CONSTELLATION +#ifndef SERVER_MODE leansdr::datvconstellation *r_scope_symbols; leansdr::datvdvbs2constellation *r_scope_symbols_dvbs2; +#endif leansdr::datvmeter *r_merMeter; leansdr::datvmeter *r_cnrMeter;