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