UDPPacket PopDataPacket(void)
Fetches a data packet for processing.
virtual void PushFECPacket(const UDPPacket &, unsigned int)=0
UDPPacket GetEmptyPacket(void)
Gets a packet for use in PushDataPacket/PushFECPacket.
QList< UDPPacket > m_available_packets
Ordered list of available packets.
virtual void PushDataPacket(const UDPPacket &)=0
PacketBuffer(unsigned int bitrate)
void FreePacket(const UDPPacket &packet)
Frees an RTPDataPacket returned by PopDataPacket.
bool HasAvailablePacket(void) const
Returns true if there are ordered packets ready for processing.
virtual ~PacketBuffer()=default
uint64_t m_next_empty_packet_key
Packets key to use for next empty packet.
QMap< uint64_t, UDPPacket > m_empty_packets
Packets ready for reuse.