MythTV  master
Public Member Functions | Private Attributes | List of all members
RTPPacketBuffer Class Reference

#include <libmythtv/recorders/rtp/rtppacketbuffer.h>

Inheritance diagram for RTPPacketBuffer:
[legend]
Collaboration diagram for RTPPacketBuffer:
[legend]

Public Member Functions

 RTPPacketBuffer (unsigned int bitrate)
 
void PushDataPacket (const UDPPacket &udp_packet) override
 Adds RFC 3550 RTP data packet. More...
 
void PushFECPacket (const UDPPacket &packet, unsigned int fec_stream_num) override
 Adds SMPTE 2022 Forward Error Correction Stream packet. More...
 
- Public Member Functions inherited from PacketBuffer
 PacketBuffer (unsigned int bitrate)
 
virtual ~PacketBuffer ()=default
 
bool HasAvailablePacket (void) const
 Returns true if there are ordered packets ready for processing. More...
 
UDPPacket PopDataPacket (void)
 Fetches a data packet for processing. More...
 
UDPPacket GetEmptyPacket (void)
 Gets a packet for use in PushDataPacket/PushFECPacket. More...
 
void FreePacket (const UDPPacket &packet)
 Frees an RTPDataPacket returned by PopDataPacket. More...
 

Private Attributes

int m_largeSequenceNumberSeenRecently { 0 }
 
uint64_t m_currentSequence { 0LL }
 
QMap< uint64_t, RTPDataPacketm_unorderedPackets
 The key is the RTP sequence number + sequence if applicable. More...
 

Additional Inherited Members

- Protected Attributes inherited from PacketBuffer
uint m_bitrate
 
uint64_t m_next_empty_packet_key
 Packets key to use for next empty packet. More...
 
QMap< uint64_t, UDPPacketm_empty_packets
 Packets ready for reuse. More...
 
QList< UDPPacketm_available_packets
 Ordered list of available packets. More...
 

Detailed Description

Definition at line 15 of file rtppacketbuffer.h.

Constructor & Destructor Documentation

◆ RTPPacketBuffer()

RTPPacketBuffer::RTPPacketBuffer ( unsigned int  bitrate)
inlineexplicit

Definition at line 18 of file rtppacketbuffer.h.

Member Function Documentation

◆ PushDataPacket()

void RTPPacketBuffer::PushDataPacket ( const UDPPacket udp_packet)
overridevirtual

Adds RFC 3550 RTP data packet.

Implements PacketBuffer.

Definition at line 13 of file rtppacketbuffer.cpp.

◆ PushFECPacket()

void RTPPacketBuffer::PushFECPacket ( const UDPPacket packet,
unsigned int  fec_stream_num 
)
overridevirtual

Adds SMPTE 2022 Forward Error Correction Stream packet.

Implements PacketBuffer.

Definition at line 65 of file rtppacketbuffer.cpp.

Member Data Documentation

◆ m_largeSequenceNumberSeenRecently

int RTPPacketBuffer::m_largeSequenceNumberSeenRecently { 0 }
private

Definition at line 28 of file rtppacketbuffer.h.

Referenced by PushDataPacket().

◆ m_currentSequence

uint64_t RTPPacketBuffer::m_currentSequence { 0LL }
private

Definition at line 29 of file rtppacketbuffer.h.

Referenced by PushDataPacket().

◆ m_unorderedPackets

QMap<uint64_t, RTPDataPacket> RTPPacketBuffer::m_unorderedPackets
private

The key is the RTP sequence number + sequence if applicable.

Definition at line 32 of file rtppacketbuffer.h.

Referenced by PushDataPacket().


The documentation for this class was generated from the following files: