fromFFI static method
Creates RtcOutboundRtpStreamStats basing on the
ffi.RtcStatsType_RtcOutboundRtpStreamStats
received from the native
side.
Implementation
static RtcOutboundRtpStreamStats fromFFI(
ffi.RtcStatsType_RtcOutboundRtpStreamStats stats) {
RtcOutboundRtpStreamStatsMediaType? mediaType;
var kind = stats.mediaType.runtimeType.toString().substring(2);
if (kind == 'RtcOutboundRtpStreamStatsKind_Audio') {
var cast =
stats.mediaType as ffi.RtcOutboundRtpStreamStatsMediaType_Audio;
mediaType = RtcOutboundRtpStreamStatsAudio(
cast.totalSamplesSent, cast.voiceActivityFlag);
} else if (kind == 'RtcOutboundRtpStreamStatsKind_Video') {
var cast =
stats.mediaType as ffi.RtcOutboundRtpStreamStatsMediaType_Video;
mediaType = RtcOutboundRtpStreamStatsVideo(
cast.frameWidth, cast.frameHeight, cast.framesPerSecond);
}
return RtcOutboundRtpStreamStats(
stats.trackId,
mediaType,
stats.bytesSent,
stats.packetsSent,
stats.mediaSourceId,
);
}