MythTV  master
rtppacketbuffer.h
Go to the documentation of this file.
1 /* -*- Mode: c++ -*-
2  * RTPPacketBuffer
3  * Copyright (c) 2012 Digital Nirvana, Inc.
4  * Distributed as part of MythTV under GPL v2 and later.
5  */
6 
7 #ifndef RTP_PACKET_BUFFER_H
8 #define RTP_PACKET_BUFFER_H
9 
10 #include <QMap>
11 
12 #include "rtpdatapacket.h"
13 #include "packetbuffer.h"
14 
16 {
17  public:
18  explicit RTPPacketBuffer(unsigned int bitrate) :
19  PacketBuffer(bitrate) {}
20 
22  void PushDataPacket(const UDPPacket &udp_packet) override; // PacketBuffer
23 
25  void PushFECPacket(const UDPPacket &packet, unsigned int fec_stream_num) override; // PacketBuffer
26 
27  private:
29  uint64_t m_currentSequence { 0LL };
30 
32  QMap<uint64_t, RTPDataPacket> m_unorderedPackets;
33 };
34 
35 #endif // RTP_PACKET_BUFFER_H
rtpdatapacket.h
PacketBuffer
Definition: packetbuffer.h:15
RTPPacketBuffer::PushDataPacket
void PushDataPacket(const UDPPacket &udp_packet) override
Adds RFC 3550 RTP data packet.
Definition: rtppacketbuffer.cpp:13
RTPPacketBuffer::m_largeSequenceNumberSeenRecently
int m_largeSequenceNumberSeenRecently
Definition: rtppacketbuffer.h:28
RTPPacketBuffer::PushFECPacket
void PushFECPacket(const UDPPacket &packet, unsigned int fec_stream_num) override
Adds SMPTE 2022 Forward Error Correction Stream packet.
Definition: rtppacketbuffer.cpp:65
RTPPacketBuffer::m_unorderedPackets
QMap< uint64_t, RTPDataPacket > m_unorderedPackets
The key is the RTP sequence number + sequence if applicable.
Definition: rtppacketbuffer.h:32
RTPPacketBuffer::RTPPacketBuffer
RTPPacketBuffer(unsigned int bitrate)
Definition: rtppacketbuffer.h:18
RTPPacketBuffer
Definition: rtppacketbuffer.h:15
UDPPacket
UDP Packet.
Definition: udppacket.h:20
packetbuffer.h
RTPPacketBuffer::m_currentSequence
uint64_t m_currentSequence
Definition: rtppacketbuffer.h:29