rtcRoom$onNetworkQuality$remoteQualities method

FutureOr<void> rtcRoom$onNetworkQuality$remoteQualities(
  1. dynamic rtcRoom,
  2. dynamic localQuality,
  3. List remoteQualities
)
override

@detail callback @author chengchao.cc951119 @brief Report the network quality of the users every 2s after the local user joins the room and starts publishing or subscribing to a stream. @param rtcRoom ByteRTCRoom object @param localQuality Local network quality. Refer to ByteRTCNetworkQualityStats{@link #ByteRTCNetworkQualityStats}. @param remoteQualities Network quality of the subscribed users. Refer to ByteRTCNetworkQualityStats{@link #ByteRTCNetworkQualityStats} for details. @note See In-call Stats for more information.

Implementation

FutureOr<void> rtcRoom$onNetworkQuality$remoteQualities(dynamic rtcRoom,
    dynamic localQuality, List<dynamic> remoteQualities) async {
  if ($instance == null || $instance is! IRTCRoomEventHandler) {
    return;
  }
  return ($instance as IRTCRoomEventHandler).onNetworkQuality?.call(
      packObject(
          localQuality,
          () => NetworkQualityStats.fromMap(
              NetworkQualityStats.deepPackedMapValues(
                  NetworkQualityStats.mapMemberToConstructorParams(
                      localQuality)))),
      remoteQualities
          .map((e) => packObject(
              e,
              () => NetworkQualityStats.fromMap(
                  NetworkQualityStats.deepPackedMapValues(
                      NetworkQualityStats.mapMemberToConstructorParams(e)))))
          .toList());
}