rtcEngine$onPerformanceAlarms$info$mode$reason$sourceWantedData method
- dynamic engine,
- dynamic streamId,
- dynamic info,
- dynamic mode,
- dynamic reason,
- dynamic data,
@detail callback
@author panjian.fishing
@brief 本地未通过 setPublishFallbackOption:{@link #ByteRTCEngine#setPublishFallbackOption} 开启发布性能回退,检测到设备性能不足时,收到此回调。
本地通过 setPublishFallbackOption:{@link #ByteRTCEngine#setPublishFallbackOption} 开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
@param engine ByteRTCEngine 实例
@param streamId 流 ID
@param info 流信息, 参看 ByteRTCStreamInfo{@link #ByteRTCStreamInfo}。
@param mode 指示本地是否开启发布回退功能。参看 ByteRTCPerformanceAlarmMode{@link #ByteRTCPerformanceAlarmMode}
- 当发布端未开启发布性能回退时,mode 值为 ByteRTCPerformanceAlarmModeNormal。
- 当发布端开启发布性能回退时,mode 值为 ByteRTCPerformanceAlarmModeSimulcast。
@param reason 告警原因,参看 ByteRTCPerformanceAlarmReason{@link #ByteRTCPerformanceAlarmReason}
@param data 性能回退相关数据,详见 ByteRTCSourceWantedData{@link #ByteRTCSourceWantedData}。
Implementation
FutureOr<void>
rtcEngine$onPerformanceAlarms$info$mode$reason$sourceWantedData(
dynamic engine,
dynamic streamId,
dynamic info,
dynamic mode,
dynamic reason,
dynamic data) async {
if ($instance == null || $instance is! IRTCEngineEventHandler) {
return;
}
return ($instance as IRTCEngineEventHandler).onPerformanceAlarms?.call(
streamId.toString(),
packObject(
info,
() => StreamInfo.fromMap(StreamInfo.deepPackedMapValues(
StreamInfo.mapMemberToConstructorParams(info)))),
t_PerformanceAlarmMode.ios_to_code($p_i
.ByteRTCPerformanceAlarmMode.values
.firstWhere((t) => t.$value == mode || t.name == mode)),
t_PerformanceAlarmReason.ios_to_code($p_i
.ByteRTCPerformanceAlarmReason.values
.firstWhere((t) => t.$value == reason || t.name == reason)),
packObject(
data,
() => SourceWantedData.fromMap(SourceWantedData.deepPackedMapValues(
SourceWantedData.mapMemberToConstructorParams(data)))));
}