diff --git a/Streaming.cpp b/Streaming.cpp index 33be58b5..aa42a4d4 100644 --- a/Streaming.cpp +++ b/Streaming.cpp @@ -96,7 +96,7 @@ namespace stream // we should also try stored messages if any for (auto it = m_SavedPackets.begin (); it != m_SavedPackets.end ();) { - if ((*it)->GetSeqn () == (uint32_t)(m_LastReceivedSequenceNumber + 1)) + if ((*it)->GetSeqn () < (uint32_t)(m_LastReceivedSequenceNumber + 1)) { Packet * savedPacket = *it; m_SavedPackets.erase (it++); @@ -420,8 +420,8 @@ namespace stream return; } - Packet p; - uint8_t * packet = p.GetBuffer (); + Packet * p = new Packet; + uint8_t * packet = p->GetBuffer (); size_t size = 0; htobe32buf (packet + size, m_SendStreamID); size += 4; // sendStreamID @@ -469,9 +469,9 @@ namespace stream size += 2; // flags htobuf16 (packet + size, 0); // no options size += 2; // options size - p.len = size; + p->len = size; - SendPackets (std::vector { &p }); + SendPackets (std::vector { p }); LogPrint (eLogDebug, "Streaming: Quick Ack sent. ", (int)numNacks, " NACKs"); }