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
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class DataSize; }
12namespace webrtc { class RtpPacketToSend; }
13namespace webrtc { class TimeDelta; }
14namespace webrtc { class Timestamp; }
15namespace webrtc { struct PacketQueueTTL; }
16// clang-format on
17
18namespace webrtc {
19
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
30 public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI ::webrtc::DataSize PacketSize() const;
34
35 MCAPI ~QueuedPacket();
36 // NOLINTEND
37
38 public:
39 // destructor thunk
40 // NOLINTBEGIN
41 MCAPI void $dtor();
42 // NOLINTEND
43 };
44
46 public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI ::std::array<::std::deque<::webrtc::PrioritizedPacketQueue::QueuedPacket>, 5> DequeueAll();
50
51 MCAPI ::webrtc::PrioritizedPacketQueue::QueuedPacket DequeuePacket(int);
52
53 MCAPI bool EnqueuePacket(::webrtc::PrioritizedPacketQueue::QueuedPacket, int);
54
55 MCAPI bool HasPacketsAtPrio(int) const;
56
57 MCAPI bool IsEmpty() const;
58
59 MCAPI ::webrtc::Timestamp LastEnqueueTime() const;
60
61 MCAPI ::webrtc::Timestamp LeadingPacketEnqueueTime(int) const;
62
63 MCAPI explicit StreamQueue(::webrtc::Timestamp);
64 // NOLINTEND
65
66 public:
67 // constructor thunks
68 // NOLINTBEGIN
69 MCAPI void* $ctor(::webrtc::Timestamp);
70 // NOLINTEND
71 };
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI ::webrtc::TimeDelta AverageQueueTime() const;
77
78 MCAPI void DequeuePacketInternal(::webrtc::PrioritizedPacketQueue::QueuedPacket&);
79
80 MCAPI bool Empty() const;
81
82 MCAPI bool HasKeyframePackets(uint) const;
83
84 MCAPI ::webrtc::Timestamp LeadingPacketEnqueueTime(::webrtc::RtpPacketMediaType) const;
85
86 MCAPI ::webrtc::Timestamp LeadingPacketEnqueueTimeForRetransmission() const;
87
88 MCAPI void MaybeUpdateTopPrioLevel();
89
90 MCAPI ::webrtc::Timestamp OldestEnqueueTime() const;
91
92 MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> Pop();
93
95
96 MCAPI void PurgeOldPacketsAtPriorityLevel(int, ::webrtc::Timestamp);
97
98 MCAPI void Push(::webrtc::Timestamp, ::std::unique_ptr<::webrtc::RtpPacketToSend>);
99
100 MCAPI void RemovePacketsForSsrc(uint);
101
102 MCAPI void SetPauseState(bool, ::webrtc::Timestamp);
103
104 MCAPI int SizeInPackets() const;
105
106 MCAPI ::webrtc::DataSize SizeInPayloadBytes() const;
107
108 MCAPI void UpdateAverageQueueTime(::webrtc::Timestamp);
109
111 // NOLINTEND
112
113public:
114 // static functions
115 // NOLINTBEGIN
116 MCAPI static ::absl::InlinedVector<::webrtc::TimeDelta, 5, ::std::allocator<::webrtc::TimeDelta>>
117 ToTtlPerPrio(::webrtc::PacketQueueTTL);
118 // NOLINTEND
119
120public:
121 // constructor thunks
122 // NOLINTBEGIN
123 MCAPI void* $ctor(::webrtc::Timestamp, bool, ::webrtc::PacketQueueTTL);
124 // NOLINTEND
125
126public:
127 // destructor thunk
128 // NOLINTBEGIN
129 MCAPI void $dtor();
130 // NOLINTEND
131};
132
133} // namespace webrtc
Definition PrioritizedPacketQueue.h:29
Definition PrioritizedPacketQueue.h:45
Definition Timestamp.h:10
Definition PacketQueueTTL.h:7
Definition PrioritizedPacketQueue.h:20