mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-29 21:42:26 -04:00
UDP sink plugin: block output at zero if read and write frame pointers are equal
This commit is contained in:
parent
1b2df9f0fc
commit
7277757b7c
@ -135,16 +135,31 @@ void UDPSinkUDPHandler::moveData(char *blk)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void UDPSinkUDPHandler::readSample(FixReal &t)
|
void UDPSinkUDPHandler::readSample(FixReal &t)
|
||||||
|
{
|
||||||
|
if (m_readFrameIndex == m_writeIndex) // block until more writes
|
||||||
|
{
|
||||||
|
t = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
memcpy(&t, &m_udpBuf[m_readFrameIndex][m_readIndex], sizeof(FixReal));
|
memcpy(&t, &m_udpBuf[m_readFrameIndex][m_readIndex], sizeof(FixReal));
|
||||||
advanceReadPointer((int) sizeof(FixReal));
|
advanceReadPointer((int) sizeof(FixReal));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void UDPSinkUDPHandler::readSample(Sample &s)
|
void UDPSinkUDPHandler::readSample(Sample &s)
|
||||||
|
{
|
||||||
|
if (m_readFrameIndex == m_writeIndex) // block until more writes
|
||||||
|
{
|
||||||
|
s.m_real = 0;
|
||||||
|
s.m_imag = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
memcpy(&s, &m_udpBuf[m_readFrameIndex][m_readIndex], sizeof(Sample));
|
memcpy(&s, &m_udpBuf[m_readFrameIndex][m_readIndex], sizeof(Sample));
|
||||||
advanceReadPointer((int) sizeof(Sample));
|
advanceReadPointer((int) sizeof(Sample));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void UDPSinkUDPHandler::advanceReadPointer(int nbBytes)
|
void UDPSinkUDPHandler::advanceReadPointer(int nbBytes)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user