1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-13 03:52:30 -04:00

DATV demod: prepare for server version

This commit is contained in:
f4exb 2025-05-03 01:43:35 +02:00
parent 379c802d39
commit ab54ac7a63
3 changed files with 47 additions and 25 deletions

View File

@ -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}

View File

@ -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(

View File

@ -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<leansdr::tspacket> *r_videoplayer;
//CONSTELLATION
#ifndef SERVER_MODE
leansdr::datvconstellation<leansdr::f32> *r_scope_symbols;
leansdr::datvdvbs2constellation<leansdr::f32> *r_scope_symbols_dvbs2;
#endif
leansdr::datvmeter *r_merMeter;
leansdr::datvmeter *r_cnrMeter;