mirror of
https://github.com/ShaYmez/xlxd.git
synced 2024-12-22 09:31:14 -05:00
fix dplus sending header packets inconsistently
depending on the number of dplus clients connected on the reflector, in some cases (for eg. with 3 or 6 clients connected) only one client could actually get lots of header packets and the other clients get none
This commit is contained in:
parent
94b725f452
commit
f7ce6d02fa
@ -315,7 +315,7 @@ void CDplusProtocol::HandleQueue(void)
|
||||
m_Socket.Send(buffer, client->GetIp());
|
||||
|
||||
// is it time to insert a DVheader copy ?
|
||||
if ( (m_StreamsCache[iModId].m_iSeqCounter++ % 21) == 20 )
|
||||
if ( (m_StreamsCache[iModId].m_iSeqCounter % 21) == 20 )
|
||||
{
|
||||
// yes, clone it
|
||||
CDvHeaderPacket packet2(m_StreamsCache[iModId].m_dvHeader);
|
||||
@ -333,6 +333,10 @@ void CDplusProtocol::HandleQueue(void)
|
||||
g_Reflector.ReleaseClients();
|
||||
}
|
||||
|
||||
if ( packet->IsDvFrame() )
|
||||
{
|
||||
m_StreamsCache[iModId].m_iSeqCounter++;
|
||||
}
|
||||
|
||||
// done
|
||||
delete packet;
|
||||
|
Loading…
Reference in New Issue
Block a user