getStreamStatistics method

Future<StreamStatistics> getStreamStatistics()

Get statistics about the rtmp stream.

Throws a CameraException if image streaming was not started.

Implementation

Future<StreamStatistics> getStreamStatistics() async {
  if (!value.isInitialized! || _isDisposed) {
    throw CameraException(
      'Uninitialized CameraController',
      'stopImageStream was called on uninitialized CameraController.',
    );
  }
  if (!value.isStreamingVideoRtmp) {
    throw CameraException(
      'No camera is streaming images',
      'stopImageStream was called when no camera is streaming images.',
    );
  }

  try {
    var data = await _channel
        .invokeMapMethod<String, dynamic>('getStreamStatistics');
    return StreamStatistics(
      sentAudioFrames: data?["sentAudioFrames"],
      sentVideoFrames: data?["sentVideoFrames"],
      height: data?["height"],
      width: data?["width"],
      bitrate: data?["bitrate"],
      isAudioMuted: data?["isAudioMuted"],
      cacheSize: data?["cacheSize"],
      droppedAudioFrames: data?["drpppedAudioFrames"],
      droppedVideoFrames: data?["droppedVideoFrames"],
    );
  } on PlatformException catch (e) {
    throw CameraException(e.code, e.message!);
  }
}