LeviLamina
Loading...
Searching...
No Matches
RTPSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/RtpRtcpInterface.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class RtpPacketHistory; }
11namespace webrtc { class RtpPacketSender; }
12namespace webrtc { class RtpPacketToSend; }
13namespace webrtc { struct RtpExtensionSize; }
14namespace webrtc { struct RtpState; }
15// clang-format on
16
17namespace webrtc {
18
19class RTPSender {
20public:
21 // member variables
22 // NOLINTBEGIN
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 RTPSender& operator=(RTPSender const&);
53 RTPSender(RTPSender const&);
54 RTPSender();
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> AllocatePacket(::rtc::ArrayView<uint const> csrcs);
60
61 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> BuildRtxPacket(::webrtc::RtpPacketToSend const& packet);
62
63 MCNAPI void DeregisterRtpHeaderExtension(::std::string_view uri);
64
65 MCNAPI void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets);
66
67 MCNAPI uint64 ExpectedPerPacketOverhead() const;
68
70
71 MCNAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>>
72 GeneratePadding(uint64 target_size_bytes, bool media_has_been_sent, bool can_send_padding_on_media_ssrc);
73
74 MCNAPI ::webrtc::RtpState GetRtpState() const;
75
76 MCNAPI ::webrtc::RtpState GetRtxRtpState() const;
77
78 MCNAPI bool IsAudioConfigured() const;
79
80 MCNAPI uint64 MaxRtpPacketSize() const;
81
82 MCNAPI void OnReceivedAckOnRtxSsrc(int64 extended_highest_sequence_number);
83
84 MCNAPI void OnReceivedAckOnSsrc(int64 extended_highest_sequence_number);
85
86 MCNAPI void OnReceivedNack(::std::vector<ushort> const& nack_sequence_numbers, int64 avg_rtt);
87
88 MCNAPI RTPSender(
90 ::webrtc::RtpPacketHistory* packet_history,
91 ::webrtc::RtpPacketSender* packet_sender
92 );
93
94 MCNAPI int ReSendPacket(ushort packet_id);
95
96 MCNAPI bool RegisterRtpHeaderExtension(::std::string_view uri, int id);
97
98 MCNAPI uint64 RtxPacketOverhead() const;
99
100 MCNAPI int RtxStatus() const;
101
102 MCNAPI bool SendingMedia() const;
103
104 MCNAPI void SetExtmapAllowMixed(bool extmap_allow_mixed);
105
106 MCNAPI void SetMaxRtpPacketSize(uint64 max_packet_size);
107
108 MCNAPI void SetMid(::std::string_view mid);
109
110 MCNAPI void SetRtpState(::webrtc::RtpState const& rtp_state);
111
112 MCNAPI void SetRtxPayloadType(int payload_type, int associated_payload_type);
113
114 MCNAPI void SetRtxRtpState(::webrtc::RtpState const& rtp_state);
115
116 MCNAPI void SetRtxStatus(int mode);
117
118 MCNAPI void SetSendingMediaStatus(bool enabled);
119
120 MCNAPI void SetTimestampOffset(uint timestamp);
121
122 MCNAPI bool SupportsPadding() const;
123
124 MCNAPI bool SupportsRtxPayloadPadding() const;
125
126 MCNAPI uint TimestampOffset() const;
127
128 MCNAPI void UpdateHeaderSizes();
129
130 MCNAPI ~RTPSender();
131 // NOLINTEND
132
133public:
134 // static functions
135 // NOLINTBEGIN
136 MCNAPI static ::rtc::ArrayView<::webrtc::RtpExtensionSize const> AudioExtensionSizes();
137
138 MCNAPI static ::rtc::ArrayView<::webrtc::RtpExtensionSize const> FecExtensionSizes();
139
140 MCNAPI static ::rtc::ArrayView<::webrtc::RtpExtensionSize const> VideoExtensionSizes();
141 // NOLINTEND
142
143public:
144 // constructor thunks
145 // NOLINTBEGIN
146 MCNAPI void* $ctor(
148 ::webrtc::RtpPacketHistory* packet_history,
149 ::webrtc::RtpPacketSender* packet_sender
150 );
151 // NOLINTEND
152
153public:
154 // destructor thunk
155 // NOLINTBEGIN
156 MCNAPI void $dtor();
157 // NOLINTEND
158};
159
160} // namespace webrtc
Definition _HeaderOutputPredefine.h:260
Definition RTPSender.h:19
MCAPI uint TimestampOffset() const
MCAPI void OnReceivedAckOnSsrc(int64 extended_highest_sequence_number)
MCAPI void SetRtxRtpState(::webrtc::RtpState const &rtp_state)
MCAPI void SetRtpState(::webrtc::RtpState const &rtp_state)
MCAPI void SetRtxPayloadType(int payload_type, int associated_payload_type)
MCAPI uint64 FecOrPaddingPacketMaxRtpHeaderLength() const
MCAPI void SetExtmapAllowMixed(bool extmap_allow_mixed)
MCAPI void DeregisterRtpHeaderExtension(::std::string_view uri)
MCAPI void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > packets)
MCAPI void OnReceivedAckOnRtxSsrc(int64 extended_highest_sequence_number)
MCAPI void SetSendingMediaStatus(bool enabled)
MCAPI::webrtc::RtpState GetRtxRtpState() const
MCAPI RTPSender(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RtpPacketHistory *packet_history, ::webrtc::RtpPacketSender *packet_sender)
MCAPI uint64 ExpectedPerPacketOverhead() const
MCAPI bool SupportsPadding() const
MCAPI bool SendingMedia() const
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > AllocatePacket(::rtc::ArrayView< uint const > csrcs)
MCAPI ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > GeneratePadding(uint64 target_size_bytes, bool media_has_been_sent, bool can_send_padding_on_media_ssrc)
MCAPI int ReSendPacket(ushort packet_id)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > BuildRtxPacket(::webrtc::RtpPacketToSend const &packet)
static MCAPI ::rtc::ArrayView<::webrtc::RtpExtensionSize const > FecExtensionSizes()
MCAPI int RtxStatus() const
static MCAPI ::rtc::ArrayView<::webrtc::RtpExtensionSize const > VideoExtensionSizes()
MCAPI void SetRtxStatus(int mode)
MCAPI void $dtor()
MCAPI bool SupportsRtxPayloadPadding() const
MCAPI void SetTimestampOffset(uint timestamp)
MCAPI bool IsAudioConfigured() const
MCAPI void SetMid(::std::string_view mid)
static MCAPI ::rtc::ArrayView<::webrtc::RtpExtensionSize const > AudioExtensionSizes()
MCAPI uint64 RtxPacketOverhead() const
MCAPI void UpdateHeaderSizes()
MCAPI void OnReceivedNack(::std::vector< ushort > const &nack_sequence_numbers, int64 avg_rtt)
MCAPI void SetMaxRtpPacketSize(uint64 max_packet_size)
MCAPI void * $ctor(::webrtc::RtpRtcpInterface::Configuration const &config, ::webrtc::RtpPacketHistory *packet_history, ::webrtc::RtpPacketSender *packet_sender)
MCAPI::webrtc::RtpState GetRtpState() const
MCAPI uint64 MaxRtpPacketSize() const
MCAPI bool RegisterRtpHeaderExtension(::std::string_view uri, int id)
Definition RtpPacketHistory.h:18
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
Definition Alias.h:14
Definition RtpRtcpInterface.h:37
Definition RtpState.h:7