UserSessionStats constructor

UserSessionStats({
  1. String? browser,
  2. String? browserVersion,
  3. String? currentIp,
  4. String? currentSfu,
  5. String? deviceModel,
  6. String? deviceVersion,
  7. double? distanceToSfuKilometers,
  8. required int freezeDurationSeconds,
  9. GeolocationResult? geolocation,
  10. TimeStats? jitter,
  11. TimeStats? latency,
  12. double? maxFirPerSecond,
  13. required double maxFreezeFraction,
  14. required int maxFreezesDurationSeconds,
  15. double? maxFreezesPerSecond,
  16. double? maxNackPerSecond,
  17. double? maxPliPerSecond,
  18. VideoQuality? maxPublishingVideoQuality,
  19. VideoQuality? maxReceivingVideoQuality,
  20. required int minEventTs,
  21. String? os,
  22. String? osVersion,
  23. required double packetLossFraction,
  24. MediaPubSubHint? pubSubHints,
  25. List<PublishedTrackInfo> publishedTracks = const [],
  26. MOSStats? publisherAudioMos,
  27. TimeStats? publisherJitter,
  28. TimeStats? publisherLatency,
  29. double? publisherNoiseCancellationSeconds,
  30. required double publisherPacketLossFraction,
  31. double? publisherQualityLimitationFraction,
  32. Map<String, double> publisherVideoQualityLimitationDurationSeconds = const {},
  33. String? publishingAudioCodec,
  34. required int publishingDurationSeconds,
  35. String? publishingVideoCodec,
  36. required double qualityScore,
  37. String? receivingAudioCodec,
  38. required int receivingDurationSeconds,
  39. String? receivingVideoCodec,
  40. String? sdk,
  41. String? sdkVersion,
  42. required String sessionId,
  43. MOSStats? subscriberAudioMos,
  44. TimeStats? subscriberJitter,
  45. TimeStats? subscriberLatency,
  46. double? subscriberVideoQualityThrottledDurationSeconds,
  47. List<Subsession> subsessions = const [],
  48. CallTimeline? timeline,
  49. required int totalPixelsIn,
  50. required int totalPixelsOut,
  51. bool? truncated,
  52. String? webrtcVersion,
})

Returns a new UserSessionStats instance.

Implementation

UserSessionStats({
  this.browser,
  this.browserVersion,
  this.currentIp,
  this.currentSfu,
  this.deviceModel,
  this.deviceVersion,
  this.distanceToSfuKilometers,
  required this.freezeDurationSeconds,
  this.geolocation,
  this.jitter,
  this.latency,
  this.maxFirPerSecond,
  required this.maxFreezeFraction,
  required this.maxFreezesDurationSeconds,
  this.maxFreezesPerSecond,
  this.maxNackPerSecond,
  this.maxPliPerSecond,
  this.maxPublishingVideoQuality,
  this.maxReceivingVideoQuality,
  required this.minEventTs,
  this.os,
  this.osVersion,
  required this.packetLossFraction,
  this.pubSubHints,
  this.publishedTracks = const [],
  this.publisherAudioMos,
  this.publisherJitter,
  this.publisherLatency,
  this.publisherNoiseCancellationSeconds,
  required this.publisherPacketLossFraction,
  this.publisherQualityLimitationFraction,
  this.publisherVideoQualityLimitationDurationSeconds = const {},
  this.publishingAudioCodec,
  required this.publishingDurationSeconds,
  this.publishingVideoCodec,
  required this.qualityScore,
  this.receivingAudioCodec,
  required this.receivingDurationSeconds,
  this.receivingVideoCodec,
  this.sdk,
  this.sdkVersion,
  required this.sessionId,
  this.subscriberAudioMos,
  this.subscriberJitter,
  this.subscriberLatency,
  this.subscriberVideoQualityThrottledDurationSeconds,
  this.subsessions = const [],
  this.timeline,
  required this.totalPixelsIn,
  required this.totalPixelsOut,
  this.truncated,
  this.webrtcVersion,
});