mirror of
https://github.com/ShaYmez/xlxd.git
synced 2025-08-01 13:02:43 -04: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());
|
m_Socket.Send(buffer, client->GetIp());
|
||||||
|
|
||||||
// is it time to insert a DVheader copy ?
|
// 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
|
// yes, clone it
|
||||||
CDvHeaderPacket packet2(m_StreamsCache[iModId].m_dvHeader);
|
CDvHeaderPacket packet2(m_StreamsCache[iModId].m_dvHeader);
|
||||||
@ -333,6 +333,10 @@ void CDplusProtocol::HandleQueue(void)
|
|||||||
g_Reflector.ReleaseClients();
|
g_Reflector.ReleaseClients();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( packet->IsDvFrame() )
|
||||||
|
{
|
||||||
|
m_StreamsCache[iModId].m_iSeqCounter++;
|
||||||
|
}
|
||||||
|
|
||||||
// done
|
// done
|
||||||
delete packet;
|
delete packet;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user