monitorStats method

  1. @override
Future<bool> monitorStats()
override

Implementation

@override
Future<bool> monitorStats() async {
  if (sender == null || events.isDisposed || !isActive) {
    _currentBitrate = 0;
    return false;
  }
  try {
    final stats = await getSenderStats();

    if (stats != null && prevStats != null && sender != null) {
      _currentBitrate = computeBitrateForSenderStats(stats, prevStats);
      events.emit(AudioSenderStatsEvent(
          stats: stats, currentBitrate: currentBitrate));
    }

    prevStats = stats;
  } catch (e) {
    logger.warning('failed to get sender stats: $e');
    return false;
  }
  return true;
}