mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-08-26 09:22:28 -04:00
DATV demod: rationalize usage of DATVideostream
This commit is contained in:
parent
66ff64f654
commit
011d5fbf60
@ -77,7 +77,8 @@ public:
|
||||
void setCNRLabel(QLabel *cnrLabel) { m_basebandSink->setCNRLabel(cnrLabel); }
|
||||
void setMERMeter(LevelMeterSignalDB *merMeter) { m_basebandSink->setMERMeter(merMeter); }
|
||||
void setCNRMeter(LevelMeterSignalDB *cnrMeter) { m_basebandSink->setCNRMeter(cnrMeter); }
|
||||
DATVideostream *SetVideoRender(DATVideoRender *objScreen) { return m_basebandSink->SetVideoRender(objScreen); }
|
||||
void SetVideoRender(DATVideoRender *objScreen) { m_basebandSink->SetVideoRender(objScreen); }
|
||||
DATVideostream *getVideoStream() { return m_basebandSink->getVideoStream(); }
|
||||
bool audioActive() { return m_basebandSink->audioActive(); }
|
||||
bool audioDecodeOK() { return m_basebandSink->audioDecodeOK(); }
|
||||
bool videoActive() { return m_basebandSink->videoActive(); }
|
||||
|
@ -94,7 +94,8 @@ public:
|
||||
void setCNRMeter(LevelMeterSignalDB *cnrMeter) { m_sink.setCNRMeter(cnrMeter); }
|
||||
void setMessageQueueToGUI(MessageQueue *messageQueue) { m_sink.setMessageQueueToGUI(messageQueue); }
|
||||
void setBasebandSampleRate(int sampleRate); //!< To be used when supporting thread is stopped
|
||||
DATVideostream *SetVideoRender(DATVideoRender *objScreen) { return m_sink.SetVideoRender(objScreen); }
|
||||
void SetVideoRender(DATVideoRender *objScreen) { m_sink.SetVideoRender(objScreen); }
|
||||
DATVideostream *getVideoStream() { return m_sink.getVideoStream(); }
|
||||
bool audioActive() { return m_sink.audioActive(); }
|
||||
bool audioDecodeOK() { return m_sink.audioDecodeOK(); }
|
||||
bool videoActive() { return m_sink.videoActive(); }
|
||||
|
@ -210,8 +210,9 @@ DATVDemodGUI::DATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, Ba
|
||||
m_objDATVDemod->setCNRLabel(ui->cnrText);
|
||||
m_objDATVDemod->setMERMeter(ui->merMeter);
|
||||
m_objDATVDemod->setCNRMeter(ui->cnrMeter);
|
||||
m_objDATVDemod->SetVideoRender(ui->screenTV_2);
|
||||
|
||||
connect(m_objDATVDemod->SetVideoRender(ui->screenTV_2), &DATVideostream::onDataPackets, this, &DATVDemodGUI::on_StreamDataAvailable);
|
||||
connect(m_objDATVDemod->getVideoStream(), &DATVideostream::onDataPackets, this, &DATVDemodGUI::on_StreamDataAvailable);
|
||||
connect(ui->screenTV_2, &DATVideoRender::onMetaDataChanged, this, &DATVDemodGUI::on_StreamMetaDataChanged);
|
||||
|
||||
m_intPreviousDecodedData=0;
|
||||
|
@ -35,7 +35,7 @@ DATVDemodSink::DATVDemodSink() :
|
||||
m_blnNeedConfigUpdate(false),
|
||||
m_objRegisteredTVScreen(nullptr),
|
||||
m_objRegisteredVideoRender(nullptr),
|
||||
m_objVideoStream(nullptr),
|
||||
m_objVideoStream(new DATVideostream()),
|
||||
m_udpStream(leansdr::tspacket::SIZE),
|
||||
m_objRenderThread(nullptr),
|
||||
m_merLabel(nullptr),
|
||||
@ -54,7 +54,6 @@ DATVDemodSink::DATVDemodSink() :
|
||||
//*************** DATV PARAMETERS ***************
|
||||
m_blnInitialized=false;
|
||||
ResetDATVFrameworkPointers();
|
||||
m_objVideoStream = new DATVideostream();
|
||||
m_objRFFilter = new fftfilt(-256000.0 / 1024000.0, 256000.0 / 1024000.0, m_rfFilterFftLength);
|
||||
}
|
||||
|
||||
@ -62,16 +61,17 @@ DATVDemodSink::~DATVDemodSink()
|
||||
{
|
||||
m_blnInitialized = false;
|
||||
|
||||
if (m_objVideoStream)
|
||||
{
|
||||
//Immediately exit from DATVideoStream if waiting for data before killing thread
|
||||
m_objVideoStream->ThreadTimeOut = 0;
|
||||
m_objVideoStream->deleteLater();
|
||||
}
|
||||
|
||||
stopVideo();
|
||||
CleanUpDATVFramework();
|
||||
|
||||
if (m_objRenderThread) {
|
||||
delete m_objRenderThread;
|
||||
}
|
||||
|
||||
delete m_objRFFilter;
|
||||
}
|
||||
|
||||
@ -110,12 +110,11 @@ void DATVDemodSink::setCNRMeter(LevelMeterSignalDB *cnrMeter) {
|
||||
m_cnrMeter = cnrMeter;
|
||||
}
|
||||
|
||||
DATVideostream *DATVDemodSink::SetVideoRender(DATVideoRender *objScreen)
|
||||
void DATVDemodSink::SetVideoRender(DATVideoRender *objScreen)
|
||||
{
|
||||
m_objRegisteredVideoRender = objScreen;
|
||||
m_objRegisteredVideoRender->setAudioFIFO(&m_audioFifo);
|
||||
m_objRenderThread = new DATVideoRenderThread(m_objRegisteredVideoRender, m_objVideoStream);
|
||||
return m_objVideoStream;
|
||||
}
|
||||
|
||||
bool DATVDemodSink::audioActive()
|
||||
|
@ -63,7 +63,8 @@ public:
|
||||
void setCNRLabel(QLabel *cnrLabel);
|
||||
void setMERMeter(LevelMeterSignalDB *merMeter);
|
||||
void setCNRMeter(LevelMeterSignalDB *cnrMeter);
|
||||
DATVideostream * SetVideoRender(DATVideoRender *objScreen);
|
||||
void SetVideoRender(DATVideoRender *objScreen);
|
||||
DATVideostream *getVideoStream() { return m_objVideoStream; }
|
||||
bool audioActive();
|
||||
bool audioDecodeOK();
|
||||
bool videoActive();
|
||||
|
Loading…
x
Reference in New Issue
Block a user