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),
21  m_current_sequence(0ULL)
22  {
23  }
24 
26  void PushDataPacket(const UDPPacket&) override; // PacketBuffer
27 
29  void PushFECPacket(const UDPPacket&, unsigned int fec_stream_num) override; // PacketBuffer
30 
31  private:
34 
36  QMap<uint64_t, RTPDataPacket> m_unordered_packets;
37 };
38 
39 #endif // _RTP_PACKET_BUFFER_H_
UDP Packet.
Definition: udppacket.h:20
void PushFECPacket(const UDPPacket &, unsigned int fec_stream_num) override
Adds SMPTE 2022 Forward Error Correction Stream packet.
QMap< uint64_t, RTPDataPacket > m_unordered_packets
The key is the RTP sequence number + sequence if applicable.
int m_large_sequence_number_seen_recently
uint64_t m_current_sequence
RTPPacketBuffer(unsigned int bitrate)
void PushDataPacket(const UDPPacket &) override
Adds RFC 3550 RTP data packet.