mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 13:11:20 -05:00 
			
		
		
		
	SSB and NFM demod: do not process samples if channel sample rate is not set yet (==0)
This commit is contained in:
		
							parent
							
								
									17577caa5b
								
							
						
					
					
						commit
						2131a7d4c5
					
				@ -78,6 +78,10 @@ NFMDemodSink::NFMDemodSink() :
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void NFMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
 | 
					void NFMDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    if (m_channelSampleRate == 0) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (SampleVector::const_iterator it = begin; it != end; ++it)
 | 
					    for (SampleVector::const_iterator it = begin; it != end; ++it)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Complex c(it->real(), it->imag());
 | 
					        Complex c(it->real(), it->imag());
 | 
				
			||||||
@ -244,8 +248,8 @@ void NFMDemodSink::processOneSample(Complex &ci)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if (res != m_audioBufferFill)
 | 
					        if (res != m_audioBufferFill)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            qDebug("NFMDemodSink::feed: %u/%u audio samples written", res, m_audioBufferFill);
 | 
					            qDebug("NFMDemodSink::processOneSample: %u/%u audio samples written m_audioSampleRate: %u m_channelSampleRate: %d",
 | 
				
			||||||
            qDebug("NFMDemodSink::feed: m_audioSampleRate: %u m_channelSampleRate: %d", m_audioSampleRate, m_channelSampleRate);
 | 
					                res, m_audioBufferFill, m_audioSampleRate, m_channelSampleRate);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        m_audioBufferFill = 0;
 | 
					        m_audioBufferFill = 0;
 | 
				
			||||||
 | 
				
			|||||||
@ -92,6 +92,10 @@ SSBDemodSink::~SSBDemodSink()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void SSBDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
 | 
					void SSBDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    if (m_channelSampleRate == 0) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Complex ci;
 | 
					    Complex ci;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for(SampleVector::const_iterator it = begin; it < end; ++it)
 | 
						for(SampleVector::const_iterator it = begin; it < end; ++it)
 | 
				
			||||||
@ -240,7 +244,7 @@ void SSBDemodSink::processOneSample(Complex &ci)
 | 
				
			|||||||
            uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
 | 
					            uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (res != m_audioBufferFill) {
 | 
					            if (res != m_audioBufferFill) {
 | 
				
			||||||
                qDebug("SSBDemodSink::feed: %u/%u samples written", res, m_audioBufferFill);
 | 
					                qDebug("SSBDemodSink::processOneSample: %u/%u samples written", res, m_audioBufferFill);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            m_audioBufferFill = 0;
 | 
					            m_audioBufferFill = 0;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user