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
void PushDataPacket(const UDPPacket &udp_packet) override
Adds RFC 3550 RTP data packet.
uint64_t m_currentSequence
int m_largeSequenceNumberSeenRecently
void PushFECPacket(const UDPPacket &packet, unsigned int fec_stream_num) override
Adds SMPTE 2022 Forward Error Correction Stream packet.
QMap< uint64_t, RTPDataPacket > m_unorderedPackets
The key is the RTP sequence number + sequence if applicable.
RTPPacketBuffer(unsigned int bitrate)
UDP Packet.
Definition: udppacket.h:21