getAudioVideoQualityNotifier method

ValueNotifier<ZegoUIKitPublishStreamQuality> getAudioVideoQualityNotifier(
  1. String? userID, {
  2. ZegoStreamType streamType = ZegoStreamType.main,
})

Implementation

ValueNotifier<ZegoUIKitPublishStreamQuality> getAudioVideoQualityNotifier(
  String? userID, {
  ZegoStreamType streamType = ZegoStreamType.main,
}) {
  if (userID == null ||
      userID == ZegoUIKitCore.shared.coreData.localUser.id) {
    switch (streamType) {
      case ZegoStreamType.main:
        return ZegoUIKitCore
            .shared.coreData.localUser.mainChannel.qualityNotifier;
      case ZegoStreamType.media:
      case ZegoStreamType.screenSharing:
      case ZegoStreamType.mix:
        return ZegoUIKitCore
            .shared.coreData.localUser.auxChannel.qualityNotifier;
    }
  } else {
    final targetUser = ZegoUIKitCore.shared.coreData.remoteUsersList
        .firstWhere((user) => user.id == userID,
            orElse: ZegoUIKitCoreUser.empty);
    switch (streamType) {
      case ZegoStreamType.main:
        return targetUser.mainChannel.qualityNotifier;
      case ZegoStreamType.media:
      case ZegoStreamType.screenSharing:
      case ZegoStreamType.mix:
        return targetUser.auxChannel.qualityNotifier;
    }
  }
}