LeviLamina
Loading...
Searching...
No Matches
PrioritizedPacketQueue.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/InlinedVector.h"
7#include "mc/external/webrtc/RtpPacketMediaType.h"
8#include "mc/external/webrtc/TimeDelta.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class DataSize; }
13namespace webrtc { class RtpPacketToSend; }
14namespace webrtc { class Timestamp; }
15namespace webrtc { struct PacketQueueTTL; }
16// clang-format on
17
18namespace webrtc {
19
20class PrioritizedPacketQueue {
21public:
22 // PrioritizedPacketQueue inner types declare
23 // clang-format off
24 class QueuedPacket;
25 class StreamQueue;
26 // clang-format on
27
28 // PrioritizedPacketQueue inner types define
29 class QueuedPacket {
30 public:
31 // member variables
32 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 QueuedPacket& operator=(QueuedPacket const&);
41 QueuedPacket(QueuedPacket const&);
42 QueuedPacket();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCNAPI ~QueuedPacket();
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCNAPI void $dtor();
54 // NOLINTEND
55 };
56
57 class StreamQueue {
58 public:
59 // member variables
60 // NOLINTBEGIN
64 // NOLINTEND
65
66 public:
67 // prevent constructor by default
68 StreamQueue& operator=(StreamQueue const&);
69 StreamQueue(StreamQueue const&);
70 StreamQueue();
71
72 public:
73 // member functions
74 // NOLINTBEGIN
75 MCNAPI ::webrtc::PrioritizedPacketQueue::QueuedPacket DequeuePacket(int priority_level);
76 // NOLINTEND
77 };
78
79public:
80 // member variables
81 // NOLINTBEGIN
96 // NOLINTEND
97
98public:
99 // prevent constructor by default
100 PrioritizedPacketQueue& operator=(PrioritizedPacketQueue const&);
101 PrioritizedPacketQueue(PrioritizedPacketQueue const&);
102 PrioritizedPacketQueue();
103
104public:
105 // member functions
106 // NOLINTBEGIN
107 MCNAPI ::webrtc::TimeDelta AverageQueueTime() const;
108
110
111 MCNAPI bool Empty() const;
112
113 MCNAPI bool HasKeyframePackets(uint ssrc) const;
114
115 MCNAPI ::webrtc::Timestamp LeadingPacketEnqueueTime(::webrtc::RtpPacketMediaType type) const;
116
117 MCNAPI ::webrtc::Timestamp LeadingPacketEnqueueTimeForRetransmission() const;
118
120
121 MCNAPI ::webrtc::Timestamp OldestEnqueueTime() const;
122
123 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> Pop();
124
126 ::webrtc::Timestamp creation_time,
127 bool prioritize_audio_retransmission,
128 ::webrtc::PacketQueueTTL packet_queue_ttl
129 );
130
131 MCNAPI void PurgeOldPacketsAtPriorityLevel(int prio_level, ::webrtc::Timestamp now);
132
133 MCNAPI void Push(::webrtc::Timestamp enqueue_time, ::std::unique_ptr<::webrtc::RtpPacketToSend> packet);
134
135 MCNAPI void RemovePacketsForSsrc(uint ssrc);
136
137 MCNAPI void SetPauseState(bool paused, ::webrtc::Timestamp now);
138
139 MCNAPI int SizeInPackets() const;
140
141 MCNAPI ::webrtc::DataSize SizeInPayloadBytes() const;
142
144
146 // NOLINTEND
147
148public:
149 // static functions
150 // NOLINTBEGIN
151 MCNAPI static ::absl::InlinedVector<::webrtc::TimeDelta, 5, ::std::allocator<::webrtc::TimeDelta>>
153 // NOLINTEND
154
155public:
156 // constructor thunks
157 // NOLINTBEGIN
158 MCNAPI void* $ctor(
159 ::webrtc::Timestamp creation_time,
160 bool prioritize_audio_retransmission,
161 ::webrtc::PacketQueueTTL packet_queue_ttl
162 );
163 // NOLINTEND
164
165public:
166 // destructor thunk
167 // NOLINTBEGIN
168 MCNAPI void $dtor();
169 // NOLINTEND
170};
171
172} // namespace webrtc
Definition DataSize.h:10
Definition PrioritizedPacketQueue.h:29
Definition PrioritizedPacketQueue.h:57
MCAPI::webrtc::PrioritizedPacketQueue::QueuedPacket DequeuePacket(int priority_level)
MCAPI::webrtc::DataSize SizeInPayloadBytes() const
MCAPI void RemovePacketsForSsrc(uint ssrc)
MCAPI int SizeInPackets() const
MCAPI::webrtc::Timestamp OldestEnqueueTime() const
MCAPI::webrtc::Timestamp LeadingPacketEnqueueTimeForRetransmission() const
MCAPI bool HasKeyframePackets(uint ssrc) const
MCAPI void PurgeOldPacketsAtPriorityLevel(int prio_level, ::webrtc::Timestamp now)
MCAPI void DequeuePacketInternal(::webrtc::PrioritizedPacketQueue::QueuedPacket &packet)
MCAPI void Push(::webrtc::Timestamp enqueue_time, ::std::unique_ptr<::webrtc::RtpPacketToSend > packet)
MCAPI PrioritizedPacketQueue(::webrtc::Timestamp creation_time, bool prioritize_audio_retransmission, ::webrtc::PacketQueueTTL packet_queue_ttl)
static MCAPI ::absl::InlinedVector<::webrtc::TimeDelta, 5, ::std::allocator<::webrtc::TimeDelta > > ToTtlPerPrio(::webrtc::PacketQueueTTL packet_queue_ttl)
MCAPI void SetPauseState(bool paused, ::webrtc::Timestamp now)
MCAPI void UpdateAverageQueueTime(::webrtc::Timestamp now)
MCAPI void * $ctor(::webrtc::Timestamp creation_time, bool prioritize_audio_retransmission, ::webrtc::PacketQueueTTL packet_queue_ttl)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > Pop()
MCAPI::webrtc::TimeDelta AverageQueueTime() const
MCAPI::webrtc::Timestamp LeadingPacketEnqueueTime(::webrtc::RtpPacketMediaType type) const
Definition RtpPacketToSend.h:16
Definition Timestamp.h:15
Definition Alias.h:14
Definition PacketQueueTTL.h:7