3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/EncodedImageCallback.h"
7#include "mc/external/webrtc/RtpSequenceNumberMap.h"
8#include "mc/external/webrtc/RtpVideoSenderInterface.h"
9#include "mc/external/webrtc/StreamFeedbackObserver.h"
10#include "mc/external/webrtc/VCMProtectionCallback.h"
11#include "mc/external/webrtc/scoped_refptr.h"
15namespace webrtc {
class Clock; }
16namespace webrtc {
class DataRate; }
17namespace webrtc {
class DataSize; }
18namespace webrtc {
class EncodedImage; }
19namespace webrtc {
class FecController; }
20namespace webrtc {
class FieldTrialsView; }
21namespace webrtc {
class FrameEncryptorInterface; }
22namespace webrtc {
class FrameTransformerInterface; }
23namespace webrtc {
class Frequency; }
25namespace webrtc {
class RtcEventLog; }
26namespace webrtc {
class RtpTransportControllerSendInterface; }
27namespace webrtc {
class TaskQueueFactory; }
28namespace webrtc {
class Transport; }
29namespace webrtc {
class VideoBitrateAllocation; }
30namespace webrtc {
struct BitrateAllocationUpdate; }
31namespace webrtc {
struct CodecSpecificInfo; }
32namespace webrtc {
struct CryptoOptions; }
33namespace webrtc {
struct FecProtectionParams; }
34namespace webrtc {
struct RtpConfig; }
35namespace webrtc {
struct RtpPayloadState; }
36namespace webrtc {
struct RtpSenderObservers; }
37namespace webrtc {
struct RtpState; }
38namespace webrtc {
struct VideoLayersAllocation; }
86 virtual void SetSending(
bool enabled) ;
89 virtual bool IsActive() ;
92 virtual void OnNetworkAvailability(
bool network_available) ;
95 virtual ::std::map<uint, ::webrtc::RtpState> GetRtpStates()
const ;
98 virtual ::std::map<uint, ::webrtc::RtpPayloadState> GetRtpPayloadStates()
const ;
101 virtual void DeliverRtcp(uchar
const* packet, uint64 length) ;
104 virtual int ProtectionRequest(
107 uint* sent_video_rate_bps,
108 uint* sent_nack_rate_bps,
109 uint* sent_fec_rate_bps
113 virtual void SetRetransmissionMode(
int retransmission_mode) ;
116 virtual void SetFecAllowed(
bool fec_allowed) ;
119 virtual ::webrtc::EncodedImageCallback::Result OnEncodedImage(
131 virtual void OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet) ;
137 virtual uint GetPayloadBitrateBps()
const ;
140 virtual uint GetProtectionBitrateBps()
const ;
143 virtual void SetEncodingData(uint64 width, uint64 height, uint64 num_temporal_layers) ;
146 virtual ::std::vector<::webrtc::RtpSequenceNumberMap::Info>
150 virtual void OnPacketFeedbackVector(
151 ::std::vector<::webrtc::StreamFeedbackObserver::StreamPacketInfo> packet_feedback_vector
165 MCNAPI
void ConfigureSsrcs(::std::map<uint, ::webrtc::RtpState>
const& suspended_ssrcs);
175 ::std::map<uint, ::webrtc::RtpState>
const& suspended_ssrcs,
176 ::std::map<uint, ::webrtc::RtpPayloadState>
const& states,
178 int rtcp_report_interval_ms,
184 ::std::unique_ptr<::webrtc::FecController> fec_controller,
200 ::std::map<uint, ::webrtc::RtpState>
const& suspended_ssrcs,
201 ::std::map<uint, ::webrtc::RtpPayloadState>
const& states,
203 int rtcp_report_interval_ms,
209 ::std::unique_ptr<::webrtc::FecController> fec_controller,
242 uint* sent_video_rate_bps,
243 uint* sent_nack_rate_bps,
244 uint* sent_fec_rate_bps
270 MCNAPI ::std::vector<::webrtc::RtpSequenceNumberMap::Info>
Definition RateLimiter.h:5
Definition _HeaderOutputPredefine.h:260
Definition EncodedImage.h:12
Definition FieldTrialsView.h:7
Definition FrameEncryptorInterface.h:11
Definition Frequency.h:10
Definition RateLimiter.h:12
Definition RtcEventLog.h:13
Definition RtpTransportControllerSendInterface.h:38
Definition RtpVideoSenderInterface.h:21
Definition RtpVideoSender.h:45
MCAPI void $OnBitrateAllocationUpdated(::webrtc::VideoBitrateAllocation const &bitrate)
MCAPI void $OnTransportOverheadChanged(uint64 transport_overhead_bytes_per_packet)
MCAPI void $SetRetransmissionMode(int retransmission_mode)
MCAPI RtpVideoSender(::webrtc::Clock *clock, ::std::map< uint, ::webrtc::RtpState > const &suspended_ssrcs, ::std::map< uint, ::webrtc::RtpPayloadState > const &states, ::webrtc::RtpConfig const &rtp_config, int rtcp_report_interval_ms, ::webrtc::Transport *send_transport, ::webrtc::RtpSenderObservers const &observers, ::webrtc::RtpTransportControllerSendInterface *transport, ::webrtc::RtcEventLog *event_log, ::webrtc::RateLimiter *retransmission_limiter, ::std::unique_ptr<::webrtc::FecController > fec_controller, ::webrtc::FrameEncryptorInterface *frame_encryptor, ::webrtc::CryptoOptions const &crypto_options, ::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface > frame_transformer, ::webrtc::FieldTrialsView const &field_trials, ::webrtc::TaskQueueFactory *task_queue_factory)
MCAPI void $OnNetworkAvailability(bool network_available)
MCAPI::webrtc::DataRate CalculateOverheadRate(::webrtc::DataRate data_rate, ::webrtc::DataSize packet_size, ::webrtc::DataSize overhead_per_packet, ::webrtc::Frequency framerate) const
MCAPI void $OnVideoLayersAllocationUpdated(::webrtc::VideoLayersAllocation const &allocation)
MCAPI bool NackEnabled() const
static MCAPI void ** $vftableForFecControllerOverride()
MCAPI void ConfigureSsrcs(::std::map< uint, ::webrtc::RtpState > const &suspended_ssrcs)
MCAPI uint $GetProtectionBitrateBps() const
MCAPI::webrtc::DataRate GetPostEncodeOverhead() const
MCAPI void $SetSending(bool enabled)
MCAPI void $OnBitrateUpdated(::webrtc::BitrateAllocationUpdate update, int framerate)
MCAPI void SetActiveModulesLocked(bool sending)
static MCAPI void ** $vftableForEncodedImageCallback()
MCAPI void $SetEncodingData(uint64 width, uint64 height, uint64 num_temporal_layers)
MCAPI bool IsActiveLocked()
MCAPI void $OnPacketFeedbackVector(::std::vector<::webrtc::StreamFeedbackObserver::StreamPacketInfo > packet_feedback_vector)
MCAPI int $ProtectionRequest(::webrtc::FecProtectionParams const *delta_params, ::webrtc::FecProtectionParams const *key_params, uint *sent_video_rate_bps, uint *sent_nack_rate_bps, uint *sent_fec_rate_bps)
MCAPI void $SetFecAllowed(bool fec_allowed)
static MCAPI void ** $vftableForStreamFeedbackObserver()
MCAPI uint $GetPayloadBitrateBps() const
MCAPI void * $ctor(::webrtc::Clock *clock, ::std::map< uint, ::webrtc::RtpState > const &suspended_ssrcs, ::std::map< uint, ::webrtc::RtpPayloadState > const &states, ::webrtc::RtpConfig const &rtp_config, int rtcp_report_interval_ms, ::webrtc::Transport *send_transport, ::webrtc::RtpSenderObservers const &observers, ::webrtc::RtpTransportControllerSendInterface *transport, ::webrtc::RtcEventLog *event_log, ::webrtc::RateLimiter *retransmission_limiter, ::std::unique_ptr<::webrtc::FecController > fec_controller, ::webrtc::FrameEncryptorInterface *frame_encryptor, ::webrtc::CryptoOptions const &crypto_options, ::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface > frame_transformer, ::webrtc::FieldTrialsView const &field_trials, ::webrtc::TaskQueueFactory *task_queue_factory)
MCAPI::webrtc::EncodedImageCallback::Result $OnEncodedImage(::webrtc::EncodedImage const &encoded_image, ::webrtc::CodecSpecificInfo const *codec_specific_info)
MCAPI ::std::map< uint, ::webrtc::RtpPayloadState > $GetRtpPayloadStates() const
MCAPI void $DeliverRtcp(uchar const *packet, uint64 length)
MCAPI ::std::vector<::webrtc::RtpSequenceNumberMap::Info > $GetSentRtpPacketInfos(uint ssrc, ::rtc::ArrayView< ushort const > sequence_numbers) const
MCAPI ::std::map< uint, ::webrtc::RtpState > $GetRtpStates() const
static MCAPI void ** $vftableForVCMProtectionCallback()
Definition StreamFeedbackObserver.h:7
Definition TaskQueueFactory.h:13
Definition Transport.h:12
Definition VCMProtectionCallback.h:12
Definition VideoBitrateAllocation.h:7
Definition scoped_refptr.h:8
Definition BitrateAllocationUpdate.h:7
Definition CodecSpecificInfo.h:7
Definition CryptoOptions.h:7
Definition FecProtectionParams.h:7
Definition RtpSenderObservers.h:7
Definition VideoLayersAllocation.h:7