Agora C++ API Reference for All Platforms
|
13 #include <unordered_map>
16 #include "AgoraBase.h"
17 #include "AgoraMediaBase.h"
18 #include "AgoraOptional.h"
19 #include "NGIAgoraVideoTrack.h"
20 #include <api/cpp/aosl_ares_class.h>
21 #include "api/transport/network_types.h"
22 #include "api/video/video_content_type.h"
23 #include "call/rtp_config.h"
25 #include "rtc_connection_i.h"
26 #include "track_stat_i.h"
27 #include "video_config_i.h"
28 #include "common_defines.h"
29 #include "video_node_i.h"
31 #include "main/core/video/multi_stream_subscribe_interface.h"
32 #include "facilities/media_config/policy_chain/media_config_policy_chain.h"
33 #include "facilities/tools/weak_observers.h"
34 #include "facilities/media_config/policy_chain/general_val_policy_chain.h"
35 #include "main/core/video/strategy_framework/module_controller/video_module_control_aspect.h"
36 #include "main/core/video/stats_and_events/video_stats_events_base.h"
37 #include "main/core/video/video_frame_source_filter.h"
38 #include "main/core/video/strategy_framework/strategy_common_defines.h"
39 #include "engine_adapter/video/video_common_defines.h"
42 class IFecMethodFactoryInterface;
44 class IRsfecCodecFactoryInterface;
45 class IAutoAdjustHarq;
51 class VideoNodeRtpSink;
52 class VideoNodeRtpSource;
53 class ProactiveCaller;
54 class IModuleControlPanel;
136 std::vector<agora::rtc::QoEDropInfo>
extra2;
180 int width,
int height,
181 int rotation,
int timestamp_ms) {}
187 AdaptiveScenarioType scenario_type,
int channel_size,
188 const std::map<VideoStreamCreator::StreamIndex, int>& be_subscribed_streams,
189 const std::vector<int>& svc_layer_bitrate, SvcAASourceType source,
190 const std::vector<SvcAAStrategyResult>& svc_aa_strategy_result_vec) {}
200 webrtc::HW_ENCODER_ACCELERATING_STATUS hw_accelerate_status) {};
212 agora::VideoContentSubType newSubtype) {}
227 public VideoLocalTrackControlAspect {
314 virtual int GetConfigExs(std::unordered_map<int, VideoConfigurationEx>& configs,
bool include_disable_config =
false) = 0;
381 virtual bool NegotiateCodec(VideoNegotiatedCodecCaps negotiated_video_decode_caps) {
return false; }
408 const char*
id = NULL) = 0;
410 const char*
id = NULL) = 0;
424 std::map<VideoStreamCreator::StreamIndex, int>&& be_subscribed_streams) = 0;
434 static std::atomic<int> id_generator_;
456 public VideoRemoteTrackControlAspect {
500 const char*
id = NULL) = 0;
502 const char*
id = NULL) = 0;
virtual int getCodecType()=0
VideoNodeRtpSink * rtcp_sender
Definition: video_track_i.h:475
VideoNodeEncoderEx::OPSParametersCollection ops_parameters
Definition: video_track_i.h:260
virtual bool removeVideoFilterLLApiInternal(agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=0
InternalVideoSourceType
Definition: video_track_i.h:56
LOCAL_VIDEO_STREAM_STATE
Definition: AgoraBase.h:2974
virtual void UpdateRemoteDlBweFeedback(int bwe)=0
int32_t fec_outside_bandwidth_ratio
Definition: video_track_i.h:263
virtual void UpdateChannelBandwidthAndSubscription(AggregatedRemoteDlBweQuantile bwe_quantile, std::map< VideoStreamCreator::StreamIndex, int > &&be_subscribed_streams)=0
virtual int32_t Width() const =0
virtual LOCAL_VIDEO_STREAM_STATE getStateLLApiInternal()=0
Definition: video_track_i.h:151
int decode_level[10]
Definition: video_track_i.h:449
std::shared_ptr< webrtc::IAutoAdjustHarq > auto_adjust_harq
Definition: video_track_i.h:261
uint64_t firstDecodingTimeTickMs
Definition: video_track_i.h:438
int method
Definition: video_track_i.h:154
int fec_fix_rate
Definition: video_track_i.h:277
virtual int registerVideoEncodedFrameObserverLLApiInternal(agora::media::IVideoEncodedFrameObserver *encodedObserver)=0
virtual int ResetVideoConfigEx(utils::ConfigPriority priority)=0
@ kVideoProcessEventPreprocessNoIncomingFrame
Definition: video_track_i.h:108
@ TRACK_DESTROY
Definition: video_track_i.h:229
virtual int GetVideoProfileAutoAdjust(std::string &config_video_profile, std::string &actual_video_profile)=0
virtual void getSimucastStreamStatus(SIMULCAST_STREAM_MODE &mode, bool &enable)
Definition: video_track_i.h:360
VideoProcessEvent
Definition: video_track_i.h:102
uint32_t render_out_num
Definition: video_track_i.h:445
uint32_t qp
Definition: video_track_i.h:223
virtual void onRemoteAddVideoFilter(std::string cid, uid_t uid, uint32_t ssrc, std::string filter_name, bool enabled)
Definition: video_track_i.h:209
@ VideoAvailabilityLevel1
Definition: video_track_i.h:81
uint32_t fec_pkts_num
Definition: video_track_i.h:446
int prefer_fec_method
Definition: video_track_i.h:294
virtual void unregisterModuleControlPanel()
Definition: video_track_i.h:401
@ NETWORK_DESTROY
Definition: video_track_i.h:458
SCREEN_SCENARIO_TYPE
Definition: AgoraBase.h:2789
Definition: AgoraRefPtr.h:44
@ kVideoProcessEventNone
Definition: video_track_i.h:103
Definition: video_track_i.h:217
virtual void onVideoSizeChanged(int id, uid_t uid, int width, int height, int rotation)
Definition: video_track_i.h:204
virtual REMOTE_VIDEO_STATE getStateLLApiInternal()=0
VideoQoEAnalyzerParameter qoe_analyzer_parameters
Definition: video_track_i.h:470
virtual bool ClearVideoConfigsOnLeaveChannel()
Definition: video_track_i.h:375
int dm_maxgc
Definition: video_track_i.h:271
virtual void onViewSizeChanged(uid_t uid, view_t view, int width, int height)
Definition: video_track_i.h:193
virtual void ConfigVideoFec(const VideoFecConfig &fec_cap)
Definition: video_track_i.h:391
Optional< SIMULCAST_STREAM_MODE > cfg_simulcast_stream_mode
Definition: video_track_i.h:290
VideoDumpMode
Definition: video_track_i.h:118
virtual bool getTrackInfoLLApiInternal(VideoTrackInfo &info)=0
Definition: common_defines.h:18
int TrackId() const
Definition: video_track_i.h:367
virtual void onVideoHWCodecSpecEvent(agora::rtc::VideoHWCodecSpec codecSpec)
Definition: video_track_i.h:203
virtual void OnRoleUpdate(CLIENT_ROLE_TYPE role)
Definition: video_track_i.h:514
@ MANUAL
Definition: video_track_i.h:229
bool enable_vpr
Definition: video_track_i.h:467
int32_t scene
Definition: video_track_i.h:241
@ kVideoProcessEventPreprocessFrameFailure
Definition: video_track_i.h:107
virtual int addVideoWatermark(const char *watermarkUrl, const WatermarkOptions &options)
Definition: video_track_i.h:350
virtual bool enableMinorStreamPeriodicKeyFrame()
Definition: video_track_i.h:395
WeakPipelineBuilder builder
Definition: video_track_i.h:464
SIMULCAST_STREAM_MODE
Definition: AgoraBase.h:2115
VideoCodecAvailableEvent
Definition: video_track_i.h:113
virtual int registerVideoEncodedImageReceiver(media::IVideoEncodedFrameObserver *videoReceiver)
Definition: video_track_i.h:369
virtual int prepareNodes(const char *id=nullptr)=0
virtual void onSourceVideoSizeChanged(uid_t uid, int width, int height, int rotation, int timestamp_ms)
Definition: video_track_i.h:179
virtual void onVideoAvailabilityIndicatorEvent(VideoAvailabilityIndicator indicator)
Definition: video_track_i.h:202
virtual void AddVideoAvailabilityIndicatorEvents(VideoAvailabilityIndicator event)
Definition: video_track_i.h:322
void * view_t
Definition: AgoraBase.h:814
VideoAvailabilityLevel
Definition: video_track_i.h:80
virtual void unregisterProactiveCaller()
Definition: video_track_i.h:497
@ VIDEO_DUMP_RECEIVED_STREAM
Definition: video_track_i.h:124
virtual bool attach(const AttachInfo &info, REMOTE_VIDEO_STATE_REASON reason)=0
VideoContentType content_type
Definition: video_track_i.h:451
virtual bool getStatisticsLLApiInternal(RemoteVideoTrackStats &stats)=0
int sent_loss_ratio
Definition: video_track_i.h:219
virtual bool hasVideoFilterLLApiInternal(const char *id, media::base::VIDEO_MODULE_POSITION position)=0
virtual bool removeRendererLLApiInternal(agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position)=0
IRemoteVideoTrackEx()=default
std::vector< GlitchDetectionInfo > glitch_detection_infos
Definition: video_track_i.h:138
Definition: AgoraBase.h:1920
Definition: video_track_i.h:141
bool enable_minor_stream_fec
Definition: video_track_i.h:265
@ VideoModuleEncode
Definition: video_track_i.h:71
virtual void onFirstVideoFrameRendered(int id, uid_t uid, int width, int height, int timestamp_ms)
Definition: video_track_i.h:173
std::vector< int > fec_protection_factor
Definition: video_track_i.h:233
bool enable_quick_intra_high_fec
Definition: video_track_i.h:279
StateEvents< REMOTE_VIDEO_STATE, REMOTE_VIDEO_STATE_REASON > RemoteVideoEvents
Definition: video_track_i.h:459
virtual void onVideoContentChanged(uid_t uid, agora::VideoContentType newType, agora::VideoContentSubType newSubtype)
Definition: video_track_i.h:211
int width
Definition: video_track_i.h:152
int qoe_critical_report_max_times
Definition: video_track_i.h:144
REMOTE_VIDEO_STATE_REASON
Definition: AgoraBase.h:3243
@ VideoModuleRender
Definition: video_track_i.h:75
@ VideoModuleQoE
Definition: video_track_i.h:77
virtual void onFirstVideoFrameDecoded(std::string cid, uid_t uid, uint32_t ssrc, int width, int height, int timestamp_ms)
Definition: video_track_i.h:175
virtual void OnRexferStatusUpdated(bool status, int32_t target_bitrate)
Definition: video_track_i.h:195
virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int timestamp_ms)
Definition: video_track_i.h:168
virtual void onRecvSideDelay(uid_t uid, int recv_delay)
Definition: video_track_i.h:183
virtual bool addVideoFilterLLApiInternal(agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=0
bool enable_rq_classic_method
Definition: video_track_i.h:274
@ VideoAvailabilityLevel2
Definition: video_track_i.h:82
virtual void OnRequestKeyFrame(uid_t uid, VIDEO_STREAM_TYPE type)
Definition: video_track_i.h:213
virtual void onCameraCharacteristicProfileChanged(agora::rtc::CameraCharacteristicProfile profile)
Definition: video_track_i.h:198
absl::optional< int > max_inflight_frame_count_pre_processsing
Definition: video_track_i.h:280
@ VIDEO_DUMP_PRE_ENCODER_YUV
Definition: video_track_i.h:127
virtual void registerProactiveCaller(const std::shared_ptr< ProactiveCaller > &)
Definition: video_track_i.h:496
bool enable_minor_stream_vqc
Definition: video_track_i.h:264
virtual bool registerTrackObserver(std::shared_ptr< IVideoTrackObserver > observer)
Definition: video_track_i.h:490
bool dm_lowred
Definition: video_track_i.h:273
std::vector< std::vector< int > > fec_ratioLevel
Definition: video_track_i.h:234
std::vector< CameraInfo > CameraInfoList
Definition: video_node_i.h:424
Definition: AgoraAtomicOps.h:21
uid_t user_id_
Definition: video_track_i.h:431
virtual int unregisterVideoEncodedImageReceiver(media::IVideoEncodedFrameObserver *videoReceiver)
Definition: video_track_i.h:371
@ kVideoProcessEventPreprocessEnqueueFailure
Definition: video_track_i.h:106
@ CustomEncodedImageSource
virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration &config, utils::ConfigPriority priority=utils::CONFIG_PRIORITY_USER)=0
REMOTE_VIDEO_STATE
Definition: AgoraBase.h:3212
int qoe_report_strategy
Definition: video_track_i.h:147
Definition: video_track_i.h:437
virtual void ReconfigureCaptureDelayMs(int video_capture_delay_ms)
Definition: video_track_i.h:393
virtual bool unregisterTrackObserver(IVideoTrackObserver *observer)
Definition: video_track_i.h:339
virtual void UpdateAdaptiveScenarioTypeAndChannelSize(AdaptiveScenarioType scenario_type, int channel_size, bool sync_ability)=0
int32_t policy
Definition: video_track_i.h:242
uid_t uid
Definition: video_track_i.h:134
Definition: video_track_i.h:227
std::vector< agora::rtc::VideoTimestampExceptionInfo > ts_exception_info
Definition: video_track_i.h:137
Definition: video_track_i.h:473
VideoNodeRtpSource * source
Definition: video_track_i.h:462
uint32_t uid
Definition: video_track_i.h:247
virtual void GetVideoAvailabilityIndicatorEvents(std::vector< VideoAvailabilityIndicator > &events)
Definition: video_track_i.h:324
uint32_t cid
Definition: video_track_i.h:248
std::vector< int > fec_rttThreshold
Definition: video_track_i.h:235
uint32_t render_in_num
Definition: video_track_i.h:444
virtual ~IVideoTrackObserver()=default
uint64_t stats_space
Definition: video_track_i.h:251
virtual rtc::VideoEncoderConfiguration getVideoEncoderConfiguration()
Definition: video_track_i.h:355
bool qoe_analyzer_enable
Definition: video_track_i.h:142
@ kVideoQoe200msFreezeDrop
Definition: video_track_i.h:94
virtual void onRecvSideFps(uid_t uid, int fps)
Definition: video_track_i.h:184
@ VideoModulePipeline
Definition: video_track_i.h:76
Definition: video_track_i.h:461
@ VIDEO_DUMP_FILTERED_YUV
Definition: video_track_i.h:122
Definition: video_track_i.h:298
virtual bool removeVideoFilterLLApiInternal(agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=0
uint32_t media_send_bps
Definition: video_track_i.h:222
uint32_t total_video_send_target_bps
Definition: video_track_i.h:221
int extra
Definition: video_track_i.h:135
@ MANUAL
Definition: video_track_i.h:458
DetachReason reason
Definition: video_track_i.h:300
virtual int setFilterPropertyLLApiInternal(const char *id, const char *key, const char *json_value)
Definition: video_track_i.h:418
virtual int getFilterPropertyLLApiInternal(const char *id, const char *key, char *json_value, size_t buf_size)
Definition: video_track_i.h:419
utils::WeakObserversFacility< IVideoTrackObserver > track_observers_
Definition: video_track_i.h:430
Definition: NGIAgoraVideoTrack.h:366
webrtc::RsfecConfig rsfec_config
Definition: video_track_i.h:254
@ VIDEO_DUMP_CAPTURED_YUV
Definition: video_track_i.h:121
WeakPipelineBuilder builder
Definition: video_track_i.h:250
int height
Definition: video_track_i.h:153
virtual int setLocalVideoSend(bool send)=0
@ VIDEO_DUMP_RENDERED_YUV
Definition: video_track_i.h:126
virtual int onRequestEnableSimulcastStream()
Definition: video_track_i.h:385
virtual void enableSourceFilterLLApiInternal(const char *id, bool enable)
Definition: video_track_i.h:417
@ NETWORK_DESTROY
Definition: video_track_i.h:229
virtual void OnVideoStatusUpdated(int status)
Definition: video_track_i.h:201
@ VideoModuleDecode
Definition: video_track_i.h:73
@ kVideoTimestampException
Definition: video_track_i.h:96
const int id_
Definition: video_track_i.h:429
virtual bool removeRendererLLApiInternal(agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position)=0
virtual int setFilterPropertyLLApiInternal(const char *id, const char *key, const char *json_value)
Definition: video_track_i.h:511
int64_t totalFrozen200ms
Definition: video_track_i.h:441
std::string enable_hw_encoder
Definition: video_track_i.h:257
int jitter_offset_ms
Definition: video_track_i.h:448
std::shared_ptr< webrtc::IRsfecCodecFactoryInterface > rsfec_codec_factory
Definition: video_track_i.h:468
virtual int setUserId(uid_t uid)
Definition: video_track_i.h:326
std::string type
Definition: video_track_i.h:243
virtual void OnFirstDecodableFrameReceived(uint8_t stream_id)
Definition: video_track_i.h:214
virtual int SetVideoConfigEx(int index, const VideoConfigurationEx &configEx, utils::ConfigPriority priority=utils::CONFIG_PRIORITY_USER)=0
virtual bool unregisterTrackObserver(IVideoTrackObserver *observer)
Definition: video_track_i.h:493
virtual bool getVideoFrameSourceFilterStats(agora::rtc::VideoFrameSourceFilter::Stats &stats)
Definition: video_track_i.h:344
virtual bool getStatisticsLLApiInternal(LocalVideoTrackStats &stats)=0
virtual void SetSvcAutoAdjusterEnabled(bool enabled, const SvcAAConfig &config)
Definition: video_track_i.h:421
VideoNodeRtpSink * network
Definition: video_track_i.h:299
@ kVideoQoe600msFreezeDrop
Definition: video_track_i.h:93
virtual bool addRendererLLApiInternal(agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position)=0
virtual int setEnabledLLApiInternal(bool enable, bool action_droppable=true)=0
@ CODEC_CHANGE
Definition: video_track_i.h:229
@ kVideoHwH264EncoderHighProfileAvailable
Definition: video_track_i.h:115
VideoNodeRtpSink * rtcp_sender
Definition: video_track_i.h:463
bool enable_two_bytes_extension
Definition: video_track_i.h:253
Definition: video_track_i.h:239
Definition: video_config_i.h:25
Definition: video_node_i.h:400
bool enable_minor_stream_fec_outside_ratio
Definition: video_track_i.h:266
bool enable_video_diagnose_logger
Definition: video_track_i.h:143
virtual int unregisterMediaPacketReceiverLLApiInternal(IMediaPacketReceiver *packetReceiver)=0
std::vector< StateEvent< STATE_TYPE, REASON_TYPE > > StateEvents
Definition: track_stat_i.h:21
uint32_t dec_in_num
Definition: video_track_i.h:443
virtual int setLocalRenderTargetFps(int target_fps)=0
int32_t mode
Definition: video_track_i.h:240
LOCAL_VIDEO_STREAM_REASON
Definition: AgoraBase.h:2997
@ kVideoQoePipelineException
Definition: video_track_i.h:97
virtual void getBillingVideoProfileWithSimulcast(bool &enable, SimulcastConfigInternal &simu_config)
Definition: video_track_i.h:361
virtual void onLocalFilterStatusChanged(int track_id, std::string filter_name, bool enabled)
Definition: video_track_i.h:208
virtual bool attach(const AttachInfo &info)=0
virtual void RequestKeyFrame(VIDEO_STREAM_TYPE type, bool is_quick_intra_request, bool internal)
Definition: video_track_i.h:320
Definition: NGIAgoraVideoTrack.h:67
Definition: video_track_i.h:456
std::string deviceId
Definition: video_track_i.h:157
virtual int unregisterVideoEncodedFrameObserverLLApiInternal(agora::media::IVideoEncodedFrameObserver *encodedObserver)=0
VideoModuleId
Definition: video_track_i.h:68
SvcAAConfig svc_aa_config
Definition: video_track_i.h:295
VideoAvailabilityLevel level
Definition: video_track_i.h:131
virtual int32_t Height() const =0
virtual void onEncoderConfigurationChanged(const std::unordered_map< int, VideoConfigurationEx > &config)
Definition: video_track_i.h:185
virtual InternalVideoSourceType getInternalVideoSourceType()
Definition: video_track_i.h:353
@ kVideoQoeFpsSubstandard
Definition: video_track_i.h:95
@ TRACK_DESTROY
Definition: video_track_i.h:458
VideoQoEAnalyzerParameter qoe_analyzer_parameters
Definition: video_track_i.h:292
virtual int updateContentHint(VIDEO_CONTENT_HINT contentHint)
Definition: video_track_i.h:363
VideoNegotiatedCodecCaps negotiated_video_codec_caps
Definition: video_track_i.h:285
virtual uid_t getUserId()
Definition: video_track_i.h:328
virtual bool Enabled() const =0
CongestionControlType cc_type
Definition: video_track_i.h:252
int hw_capture_delay
Definition: video_track_i.h:287
@ VideoModulePostprocess
Definition: video_track_i.h:74
@ VIDEO_DUMP_ALL
Definition: video_track_i.h:120
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:481
virtual ~ILocalVideoTrackEx()
Definition: video_track_i.h:304
virtual int registerMediaPacketReceiverLLApiInternal(IMediaPacketReceiver *packetReceiver)=0
virtual void registerModuleControlPanel(std::shared_ptr< rtc::IModuleControlPanel > panel)
Definition: video_track_i.h:400
virtual bool addRendererLLApiInternal(agora_refptr< IVideoSinkBase > videoRenderer, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_PRE_RENDERER)=0
Definition: NGIAgoraVideoTrack.h:546
@ kVideoQoeCriticalDrop
Definition: video_track_i.h:92
virtual void getBillingVideoProfile(int32_t &w, int32_t &h, int32_t &frame_rate)
Definition: video_track_i.h:347
std::string switch_to_rq
Definition: video_track_i.h:272
DetachReason
Definition: video_track_i.h:458
VideoModuleId module
Definition: video_track_i.h:132
virtual bool detach(const DetachInfo &info, REMOTE_VIDEO_STATE_REASON reason)=0
virtual void SetVideoCodecCaps(VideoNegotiatedCodecCaps negotiated_video_codec_caps)
Definition: video_track_i.h:420
virtual void onLocalAddVideoFilter(int track_id, std::string filter_name, bool enabled)
Definition: video_track_i.h:207
virtual int GetConfigExs(std::unordered_map< int, VideoConfigurationEx > &configs, bool include_disable_config=false)=0
VideoQoeEvent
Definition: video_track_i.h:91
@ kVideoProcessEventPreprocessCongested
Definition: video_track_i.h:109
Definition: video_node_i.h:386
bool support_higher_standard_bitrate
Definition: video_track_i.h:291
virtual bool getVideoTextureCopyStatus(VideoTextureCopyParam ¶m)
Definition: video_track_i.h:357
int avgUs
Definition: video_track_i.h:155
CongestionControlType
Definition: rtc_connection_i.h:85
virtual void onVideoModuleStatus(std::string node_name, int type)
Definition: video_track_i.h:383
virtual int clearVideoWatermarks()
Definition: video_track_i.h:351
Definition: AgoraBase.h:2280
@ kVideoHwH265EncoderAvailable
Definition: video_track_i.h:114
Definition: NGIAgoraVideoTrack.h:433
@ kVideoUplinkEventStaticFrames
Definition: video_track_i.h:88
@ kVideoGlitchDetection
Definition: video_track_i.h:98
int fec_method
Definition: video_track_i.h:269
Definition: video_track_i.h:246
std::unordered_map< uint8_t, std::string > fec_capabilities
Definition: video_track_i.h:293
virtual bool isVideoFilterEnabled(const char *id)
Definition: video_track_i.h:389
virtual bool hasPublished()=0
utils::WeakObserversFacility< IVideoTrackObserver > track_observers_
Definition: video_track_i.h:514
virtual int setSimulcastStreamModeLLApiInternal(SIMULCAST_STREAM_MODE mode, const SimulcastConfigInternal &simu_config)=0
virtual void onVideoPipelineDataFormatChanged(int format)
Definition: video_track_i.h:191
bool recv_media_packet
Definition: video_track_i.h:465
virtual uint32_t getRemoteSsrc()=0
virtual void onLocalVideoStateChanged(int id, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason, int timestamp_ms)
Definition: video_track_i.h:163
virtual bool getStatisticsEx(LocalVideoTrackStatsEx &statsEx)
Definition: video_track_i.h:343
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1573
int harq_version
Definition: video_track_i.h:262
virtual void unregisterProactiveCaller()
Definition: video_track_i.h:398
@ VideoAvailabilityLevel3
Definition: video_track_i.h:83
LocalVideoTrackStats local_video_stats
Definition: video_track_i.h:218
virtual int GetCaptureMode(CaptureModeItem &captureModeOut)=0
int code
Definition: video_track_i.h:133
virtual bool NegotiateCodec(VideoNegotiatedCodecCaps negotiated_video_decode_caps)
Definition: video_track_i.h:381
uint32_t video_threshhold_ms
Definition: video_track_i.h:469
virtual int GetActiveStreamsCount()=0
virtual int enableVideoFilterLLApiInternal(const char *id, bool enable)
Definition: video_track_i.h:510
DetachReason
Definition: video_track_i.h:229
VideoNodeRtpSource * source
Definition: video_track_i.h:474
uint64_t stats_space
Definition: video_track_i.h:466
int qoe_timing_strategy_report_period
Definition: video_track_i.h:148
virtual void onYuvConvertStats(const YuvConvertStats &stats)
Definition: video_track_i.h:205
virtual void OnNotifyDepartedFrame(uid_t uid, int picture_id)
Definition: video_track_i.h:196
virtual void registerProactiveCaller(const std::shared_ptr< rtc::ProactiveCaller > &configurator)
Definition: video_track_i.h:397
Definition: AgoraBase.h:3326
bool isHardwareCodec
Definition: video_track_i.h:440
virtual bool addVideoFilterLLApiInternal(agora_refptr< IVideoFilter > filter, media::base::VIDEO_MODULE_POSITION position=media::base::POSITION_POST_CAPTURER, const char *id=NULL)=0
virtual void onRemoteFilterStatusChanged(std::string cid, uid_t uid, uint32_t ssrc, std::string filter_name, bool enabled, bool isDisableMe=false)
Definition: video_track_i.h:210
VIDEO_CONTENT_HINT
Definition: AgoraBase.h:2767
int qoe_high_report_max_times
Definition: video_track_i.h:145
virtual void onCameraFacingChanged(int facing)
Definition: video_track_i.h:192
uint32_t sync_peer_uid
Definition: video_track_i.h:288
unsigned int uid_t
Definition: AgoraMediaBase.h:28
bool pec_enabled
Definition: video_track_i.h:236
virtual void setVideoDumpMode(int mode, bool enabled, int frame_cnt=-1)
Definition: video_track_i.h:379
CLIENT_ROLE_TYPE
Definition: AgoraBase.h:2516
virtual void SetUplinkEstimatedBwe(int uplink_bwe)=0
virtual bool getIsAttachedToNetwork()
Definition: video_track_i.h:387
@ VIDEO_DUMP_DECODED_YUV
Definition: video_track_i.h:125
bool enable_video_send_diagnose
Definition: video_track_i.h:283
uint32_t last_frame_max
Definition: video_track_i.h:442
virtual ~IRemoteVideoTrackEx()
Definition: video_track_i.h:481
Definition: video_track_i.h:160
VideoPipelineEvent
Definition: video_track_i.h:87
uint32_t total_bwe_bps
Definition: video_track_i.h:220
uint64_t firstVideoFrameRendered
Definition: video_track_i.h:439
virtual int enableVideoFilterLLApiInternal(const char *id, bool enable)
Definition: video_track_i.h:416
int maxUs
Definition: video_track_i.h:156
virtual void onCameraInfoListChanged(CameraInfoList cameraInfoList)
Definition: video_track_i.h:197
@ VIDEO_DUMP_DEFAULT
Definition: video_track_i.h:119
uint32_t loss_af_fec
Definition: video_track_i.h:447
VideoNodeRtpSink * network
Definition: video_track_i.h:249
std::vector< VideoAvailabilityIndicator > video_availability
Definition: video_track_i.h:452
int dm_wsize
Definition: video_track_i.h:270
ILocalVideoTrackEx()
Definition: video_track_i.h:303
virtual bool getStatisticsEx(RemoteVideoTrackStatsEx &statsex)
Definition: video_track_i.h:488
@ VIDEO_DUMP_ENCODED_STREAM
Definition: video_track_i.h:123
int32_t minimum_fec_level
Definition: video_track_i.h:276
virtual void OnSetRexferParams(bool fec_rexfer, float rexfer_alpha, int max_rexfer_times)
Definition: video_track_i.h:194
virtual void onSendSideDelay(int id, int send_delay)
Definition: video_track_i.h:182
uint64_t qp_sum
Definition: video_track_i.h:450
virtual bool registerTrackObserver(std::shared_ptr< IVideoTrackObserver > observer)
Definition: video_track_i.h:336
Definition: video_node_i.h:28
virtual void onFirstVideoKeyFrameReceived(uid_t uid, uint64_t timestamp, const webrtc::FirstVideoFrameStreamInfo &streamInfo)
Definition: video_track_i.h:177
@ VideoModulePreprocess
Definition: video_track_i.h:70
virtual void onSvcLayerUpdated(SvcAABandwidthReportInfo info, int supported_max_layers, AdaptiveScenarioType scenario_type, int channel_size, const std::map< VideoStreamCreator::StreamIndex, int > &be_subscribed_streams, const std::vector< int > &svc_layer_bitrate, SvcAASourceType source, const std::vector< SvcAAStrategyResult > &svc_aa_strategy_result_vec)
Definition: video_track_i.h:186
virtual bool hasVideoFilterLLApiInternal(const char *id, media::base::VIDEO_MODULE_POSITION position)=0
bool enable_check_for_disable_fec
Definition: video_track_i.h:278
bool enable_minor_stream_intra_request
Definition: video_track_i.h:267
virtual void getSimucastStreamConfig(SimulcastConfigInternal &simu_stream_config)
Definition: video_track_i.h:359
Definition: video_track_i.h:232
int qoe_normal_report_max_times
Definition: video_track_i.h:146
virtual int setVideoEncoderConfigurationLLApiInternal(const rtc::VideoEncoderConfiguration &config)=0
@ VideoModuleNetwork
Definition: video_track_i.h:72
Definition: NGIAgoraVideoTrack.h:220
virtual int updateScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario)
Definition: video_track_i.h:365
std::vector< agora::rtc::QoEDropInfo > extra2
Definition: video_track_i.h:136
virtual bool detach(const DetachInfo &info)=0
@ VideoModuleCapture
Definition: video_track_i.h:69
DetachReason reason
Definition: video_track_i.h:476
Definition: video_track_i.h:130
std::weak_ptr< webrtc::Call > WeakPipelineBuilder
Definition: common_defines.h:26
virtual void OnEncoderStatusUpdate(webrtc::VideoCodecType codec_type, webrtc::HW_ENCODER_ACCELERATING_STATUS hw_accelerate_status)
Definition: video_track_i.h:199