diff --git a/plugins/channelrx/demodatv/atvdemod.cpp b/plugins/channelrx/demodatv/atvdemod.cpp index c4409ac9f..0787f820e 100644 --- a/plugins/channelrx/demodatv/atvdemod.cpp +++ b/plugins/channelrx/demodatv/atvdemod.cpp @@ -573,6 +573,7 @@ void ATVDemod::applySettings() m_intNumberSamplePerLine = (int) (m_objConfig.m_fltLineDuration * m_objConfig.m_intSampleRate); m_intNumberSamplePerTop = (int) (m_objConfig.m_fltTopDuration * m_objConfig.m_intSampleRate); + m_objRegisteredATVScreen->setRenderImmediate((m_objConfig.m_fltFramePerS < 25.0f)); m_objRegisteredATVScreen->resizeATVScreen( m_intNumberSamplePerLine - m_intNumberSamplePerLineSignals, m_intNumberOfLines - m_intNumberOfBlackLines); diff --git a/plugins/channelrx/demodatv/atvscreen.cpp b/plugins/channelrx/demodatv/atvscreen.cpp index 86da014bf..d3955909e 100644 --- a/plugins/channelrx/demodatv/atvscreen.cpp +++ b/plugins/channelrx/demodatv/atvscreen.cpp @@ -37,6 +37,7 @@ ATVScreen::ATVScreen(QWidget* parent) : m_chrLastData = NULL; m_blnConfigChanged = false; m_blnDataChanged = false; + m_blnRenderImmediate = false; m_blnGLContextInitialized = false; //Par défaut @@ -63,7 +64,7 @@ void ATVScreen::renderImage(unsigned char * objData) { m_chrLastData = objData; m_blnDataChanged = true; - //update(); + if (m_blnRenderImmediate) update(); } void ATVScreen::resetImage() diff --git a/plugins/channelrx/demodatv/atvscreen.h b/plugins/channelrx/demodatv/atvscreen.h index 8a3354a52..1e1aebd04 100644 --- a/plugins/channelrx/demodatv/atvscreen.h +++ b/plugins/channelrx/demodatv/atvscreen.h @@ -54,6 +54,7 @@ public: bool selectRow(int intLine); bool setDataColor(int intCol,int intRed, int intGreen, int intBlue); + void setRenderImmediate(bool blnRenderImmediate) { m_blnRenderImmediate = blnRenderImmediate; } void connectTimer(const QTimer& timer); @@ -75,6 +76,7 @@ private: QTimer m_objTimer; QMutex m_objMutex; bool m_blnDataChanged; + bool m_blnRenderImmediate; bool m_blnConfigChanged; GLShaderArray m_objGLShaderArray;