initStats method Null safety
Initialize the statistics monitoring of the RTCPeerConnection. It will be emitted every second.
import 'package:flutter_webrtc/flutter_webrtc.dart';
import 'package:millicast_flutter_sdk/millicast_flutter_sdk.dart';
//Initialize and connect your Publisher
var millicastPublish = Publish(streamName, tokenGenerator);
await millicastPublish.connect(options);
//Initialize get stats
millicastPublish.webRTCPeer.initStats();
//Capture new stats from event every second
millicastPublish.webRTCPeer.on('stats', (stats) => {
print('Stats from event: ', stats)
});
import 'package:flutter_webrtc/flutter_webrtc.dart';
import 'package:millicast_flutter_sdk/millicast_flutter_sdk.dart';
//Initialize and connect your Viewer
var millicastView = View(streamName, tokenGenerator);
await millicastView.connect();
//Initialize get stats
millicastView.webRTCPeer.initStats();
//Capture new stats from event every second
millicastView.webRTCPeer.on('stats', (stats) => {
print('Stats from event: ', stats);
});
Implementation
initStats() {
if (peerConnectionStats != null) {
_logger.w('Cannot init peer stats: Already initialized');
} else if (peer != null) {
peerConnectionStats = PeerConnectionStats(peer!);
peerConnectionStats?.init();
reemit(peerConnectionStats!, this, [peerConnectionStatsEvents['stats']]);
} else {
_logger.w('Cannot init peer stats: RTCPeerConnection not initialized');
}
}