diff --git a/packages/stream_video/lib/src/coordinator/open_api/event/health_check.dart b/packages/stream_video/lib/src/coordinator/open_api/event/health_check.dart index b4f959b04..6d78f43ee 100644 --- a/packages/stream_video/lib/src/coordinator/open_api/event/health_check.dart +++ b/packages/stream_video/lib/src/coordinator/open_api/event/health_check.dart @@ -101,9 +101,9 @@ class Me { channelMutes: json['channel_mutes'] == null ? [] : List.from(json['channel_mutes']!.map((x) => x)), - unreadCount: json['unread_count'], - totalUnreadCount: json['total_unread_count'], - unreadChannels: json['unread_channels'], + unreadCount: (json['unread_count'] as num?)?.toInt(), + totalUnreadCount: (json['total_unread_count'] as num?)?.toInt(), + unreadChannels: (json['unread_channels'] as num?)?.toInt(), language: json['language'], image: json['image'], imageUrl: json['imageURL'], diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_codec.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_codec.dart index 215af52a5..2ffb79148 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_codec.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_codec.dart @@ -38,10 +38,10 @@ class RtcCodec extends RtcStats { type: value['type'], timestamp: value['timestamp'], sdpFmtpLine: value['sdpFmtpLine'], - payloadType: value['payloadType'], + payloadType: (value['payloadType'] as num?)?.toInt(), transportId: value['transportId'], mimeType: value['mimeType'], - clockRate: value['clockRate'], + clockRate: (value['clockRate'] as num?)?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate.dart index 940c35914..26102e111 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate.dart @@ -64,12 +64,12 @@ class RtcIceCandidate extends RtcStats implements RtcWritable { candidateType: value['candidateType'], protocol: value['protocol'], address: value['address'], - port: value['port'], + port: (value['port'] as num?)?.toInt(), vpn: value['vpn'], ip: value['ip'], networkAdapterType: value['networkAdapterType'], networkType: value['networkType'], - priority: value['priority'], + priority: (value['priority'] as num?)?.toInt(), url: value['url'], relayProtocol: value['relayProtocol'], ); diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate_pair.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate_pair.dart index a636fd07e..5e4908443 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate_pair.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_ice_candidate_pair.dart @@ -84,24 +84,25 @@ class RtcIceCandidatePair extends RtcStats { type: value['type'], timestamp: value['timestamp'], transportId: value['transportId'], - requestsSent: value['requestsSent'], + requestsSent: (value['requestsSent'] as num?)?.toInt(), localCandidateId: value['localCandidateId'], - bytesSent: value['bytesSent'], - bytesDiscardedOnSend: value['bytesDiscardedOnSend'], - priority: value['priority'], - requestsReceived: value['requestsReceived'], + bytesSent: (value['bytesSent'] as num?)?.toInt(), + bytesDiscardedOnSend: (value['bytesDiscardedOnSend'] as num?)?.toInt(), + priority: (value['priority'] as num?)?.toInt(), + requestsReceived: (value['requestsReceived'] as num?)?.toInt(), writable: value['writable'], remoteCandidateId: value['remoteCandidateId'], - bytesReceived: value['bytesReceived'], - packetsReceived: value['packetsReceived'], - responsesSent: value['responsesSent'], - packetsDiscardedOnSend: value['packetsDiscardedOnSend'], + bytesReceived: (value['bytesReceived'] as num?)?.toInt(), + packetsReceived: (value['packetsReceived'] as num?)?.toInt(), + responsesSent: (value['responsesSent'] as num?)?.toInt(), + packetsDiscardedOnSend: (value['packetsDiscardedOnSend'] as num?) + ?.toInt(), nominated: value['nominated'], - packetsSent: value['packetsSent'], + packetsSent: (value['packetsSent'] as num?)?.toInt(), totalRoundTripTime: value['totalRoundTripTime'], - responsesReceived: value['responsesReceived'], + responsesReceived: (value['responsesReceived'] as num?)?.toInt(), state: value['state'], - consentRequestsSent: value['consentRequestsSent'], + consentRequestsSent: (value['consentRequestsSent'] as num?)?.toInt(), currentRoundTripTime: value['currentRoundTripTime'], availableOutgoingBitrate: value['availableOutgoingBitrate'], availableIncomingBitrate: value['availableIncomingBitrate'], diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_audio_stream.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_audio_stream.dart index e211521d9..252bbab0b 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_audio_stream.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_audio_stream.dart @@ -106,28 +106,32 @@ class RtcInboundRtpAudioStream extends RtcStats totalAudioEnergy: value['totalAudioEnergy'], lastPacketReceivedTimestamp: value['lastPacketReceivedTimestamp'], audioLevel: value['audioLevel'], - packetsLost: value['packetsLost'], - totalSamplesReceived: value['totalSamplesReceived'], - concealmentEvents: value['concealmentEvents'], - removedSamplesForAcceleration: value['removedSamplesForAcceleration'], + packetsLost: (value['packetsLost'] as num?)?.toInt(), + totalSamplesReceived: (value['totalSamplesReceived'] as num?)?.toInt(), + concealmentEvents: (value['concealmentEvents'] as num?)?.toInt(), + removedSamplesForAcceleration: + (value['removedSamplesForAcceleration'] as num?)?.toInt(), kind: value['kind'], trackId: value['trackId'], jitterBufferDelay: value['jitterBufferDelay'], - ssrc: value['ssrc'], - concealedSamples: value['concealedSamples'], + ssrc: (value['ssrc'] as num?)?.toInt(), + concealedSamples: (value['concealedSamples'] as num?)?.toInt(), mediaType: value['mediaType'], totalSamplesDuration: value['totalSamplesDuration'], - headerBytesReceived: value['headerBytesReceived'], - insertedSamplesForDeceleration: value['insertedSamplesForDeceleration'], - packetsDiscarded: value['packetsDiscarded'], - fecPacketsReceived: value['fecPacketsReceived'], - jitterBufferEmittedCount: value['jitterBufferEmittedCount'], + headerBytesReceived: (value['headerBytesReceived'] as num?)?.toInt(), + insertedSamplesForDeceleration: + (value['insertedSamplesForDeceleration'] as num?)?.toInt(), + packetsDiscarded: (value['packetsDiscarded'] as num?)?.toInt(), + fecPacketsReceived: (value['fecPacketsReceived'] as num?)?.toInt(), + jitterBufferEmittedCount: (value['jitterBufferEmittedCount'] as num?) + ?.toInt(), codecId: value['codecId'], - bytesReceived: value['bytesReceived'], + bytesReceived: (value['bytesReceived'] as num?)?.toInt(), jitter: value['jitter'], - packetsReceived: value['packetsReceived'], - silentConcealedSamples: value['silentConcealedSamples'], - fecPacketsDiscarded: value['fecPacketsDiscarded'], + packetsReceived: (value['packetsReceived'] as num?)?.toInt(), + silentConcealedSamples: (value['silentConcealedSamples'] as num?) + ?.toInt(), + fecPacketsDiscarded: (value['fecPacketsDiscarded'] as num?)?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_video_stream.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_video_stream.dart index efbb89c24..2de663759 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_video_stream.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_inbound_rtp_video_stream.dart @@ -122,36 +122,37 @@ class RtcInboundRtpVideoStream extends RtcStats type: value['type'], timestamp: value['timestamp'], transportId: value['transportId'], - qpSum: value['qpSum'], + qpSum: (value['qpSum'] as num?)?.toInt(), lastPacketReceivedTimestamp: value['lastPacketReceivedTimestamp'], - nackCount: value['nackCount'], - firCount: value['firCount'], - pliCount: value['pliCount'], - packetsLost: value['packetsLost'], - keyFramesDecoded: value['keyFramesDecoded'], + nackCount: (value['nackCount'] as num?)?.toInt(), + firCount: (value['firCount'] as num?)?.toInt(), + pliCount: (value['pliCount'] as num?)?.toInt(), + packetsLost: (value['packetsLost'] as num?)?.toInt(), + keyFramesDecoded: (value['keyFramesDecoded'] as num?)?.toInt(), totalSquaredInterFrameDelay: value['totalSquaredInterFrameDelay'], totalAssemblyTime: value['totalAssemblyTime'], - frameHeight: value['frameHeight'], - frameWidth: value['frameWidth'], - framesDropped: value['framesDropped'], - framesReceived: value['framesReceived'], + frameHeight: (value['frameHeight'] as num?)?.toInt(), + frameWidth: (value['frameWidth'] as num?)?.toInt(), + framesDropped: (value['framesDropped'] as num?)?.toInt(), + framesReceived: (value['framesReceived'] as num?)?.toInt(), framesPerSecond: value['framesPerSecond'], - framesDecoded: value['framesDecoded'], + framesDecoded: (value['framesDecoded'] as num?)?.toInt(), totalInterFrameDelay: value['totalInterFrameDelay'], decoderImplementation: value['decoderImplementation'], kind: value['kind'], trackId: value['trackId'], jitterBufferDelay: value['jitterBufferDelay'], - ssrc: value['ssrc'], + ssrc: (value['ssrc'] as num?)?.toInt(), mediaType: value['mediaType'], minPlayoutDelay: value['minPlayoutDelay'], - headerBytesReceived: value['headerBytesReceived'], - jitterBufferEmittedCount: value['jitterBufferEmittedCount'], + headerBytesReceived: (value['headerBytesReceived'] as num?)?.toInt(), + jitterBufferEmittedCount: (value['jitterBufferEmittedCount'] as num?) + ?.toInt(), codecId: value['codecId'], - bytesReceived: value['bytesReceived'], + bytesReceived: (value['bytesReceived'] as num?)?.toInt(), totalProcessingDelay: value['totalProcessingDelay'], jitter: value['jitter'], - packetsReceived: value['packetsReceived'], + packetsReceived: (value['packetsReceived'] as num?)?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_local_video.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_local_video.dart index 2be0f3579..5359cbd07 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_local_video.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_local_video.dart @@ -54,10 +54,10 @@ class RtcMediaStreamTrackLocalVideo extends RtcStats type: value['type'], timestamp: value['timestamp'], kind: value['kind'], - frameHeight: value['frameHeight'], - frameWidth: value['frameWidth'], - framesSent: value['framesSent'], - hugeFramesSent: value['hugeFramesSent'], + frameHeight: (value['frameHeight'] as num?)?.toInt(), + frameWidth: (value['frameWidth'] as num?)?.toInt(), + framesSent: (value['framesSent'] as num?)?.toInt(), + hugeFramesSent: (value['hugeFramesSent'] as num?)?.toInt(), detached: value['detached'], ended: value['ended'], remoteSource: value['remoteSource'], diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_receiver_audio.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_receiver_audio.dart index 68712679e..a0dd6f39e 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_receiver_audio.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_receiver_audio.dart @@ -91,26 +91,31 @@ class RtcMediaStreamTrackRemoteAudio extends RtcStats timestamp: value['timestamp'], totalAudioEnergy: value['totalAudioEnergy'], totalInterruptionDuration: value['totalInterruptionDuration'], - removedSamplesForAcceleration: value['removedSamplesForAcceleration'], + removedSamplesForAcceleration: + (value['removedSamplesForAcceleration'] as num?)?.toInt(), kind: value['kind'], audioLevel: value['audioLevel'], jitterBufferDelay: value['jitterBufferDelay'], - interruptionCount: value['interruptionCount'], + interruptionCount: (value['interruptionCount'] as num?)?.toInt(), relativePacketArrivalDelay: value['relativePacketArrivalDelay'], - jitterBufferFlushes: value['jitterBufferFlushes'], - concealedSamples: value['concealedSamples'], + jitterBufferFlushes: (value['jitterBufferFlushes'] as num?)?.toInt(), + concealedSamples: (value['concealedSamples'] as num?)?.toInt(), jitterBufferTargetDelay: value['jitterBufferTargetDelay'], trackIdentifier: value['trackIdentifier'], totalSamplesDuration: value['totalSamplesDuration'], detached: value['detached'], - insertedSamplesForDeceleration: value['insertedSamplesForDeceleration'], - jitterBufferEmittedCount: value['jitterBufferEmittedCount'], - delayedPacketOutageSamples: value['delayedPacketOutageSamples'], + insertedSamplesForDeceleration: + (value['insertedSamplesForDeceleration'] as num?)?.toInt(), + jitterBufferEmittedCount: (value['jitterBufferEmittedCount'] as num?) + ?.toInt(), + delayedPacketOutageSamples: + (value['delayedPacketOutageSamples'] as num?)?.toInt(), ended: value['ended'], - totalSamplesReceived: value['totalSamplesReceived'], - concealmentEvents: value['concealmentEvents'], + totalSamplesReceived: (value['totalSamplesReceived'] as num?)?.toInt(), + concealmentEvents: (value['concealmentEvents'] as num?)?.toInt(), remoteSource: value['remoteSource'], - silentConcealedSamples: value['silentConcealedSamples'], + silentConcealedSamples: (value['silentConcealedSamples'] as num?) + ?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_remote_video.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_remote_video.dart index f91c0cb76..9f0aefb03 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_remote_video.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_media_stream_track_remote_video.dart @@ -78,22 +78,23 @@ class RtcMediaStreamTrackRemoteVideo extends RtcStats type: value['type'], timestamp: value['timestamp'], kind: value['kind'], - frameHeight: value['frameHeight'], - frameWidth: value['frameWidth'], - framesReceived: value['framesReceived'], - framesDecoded: value['framesDecoded'], - framesDropped: value['framesDropped'], + frameHeight: (value['frameHeight'] as num?)?.toInt(), + frameWidth: (value['frameWidth'] as num?)?.toInt(), + framesReceived: (value['framesReceived'] as num?)?.toInt(), + framesDecoded: (value['framesDecoded'] as num?)?.toInt(), + framesDropped: (value['framesDropped'] as num?)?.toInt(), totalFramesDuration: value['totalFramesDuration'], totalFreezesDuration: value['totalFreezesDuration'], - freezeCount: value['freezeCount'], - pauseCount: value['pauseCount'], + freezeCount: (value['freezeCount'] as num?)?.toInt(), + pauseCount: (value['pauseCount'] as num?)?.toInt(), detached: value['detached'], ended: value['ended'], remoteSource: value['remoteSource'], jitterBufferDelay: value['jitterBufferDelay'], trackIdentifier: value['trackIdentifier'], totalPausesDuration: value['totalPausesDuration'], - jitterBufferEmittedCount: value['jitterBufferEmittedCount'], + jitterBufferEmittedCount: (value['jitterBufferEmittedCount'] as num?) + ?.toInt(), sumOfSquaredFramesDuration: value['sumOfSquaredFramesDuration'], ); } diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_audio_stream.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_audio_stream.dart index f7366fc54..8236748ab 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_audio_stream.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_audio_stream.dart @@ -72,20 +72,22 @@ class RtcOutboundRtpAudioStream extends RtcStats type: value['type'], timestamp: value['timestamp'], transportId: value['transportId'], - headerBytesSent: value['headerBytesSent'], - nackCount: value['nackCount'], - retransmittedPacketsSent: value['retransmittedPacketsSent'], + headerBytesSent: (value['headerBytesSent'] as num?)?.toInt(), + nackCount: (value['nackCount'] as num?)?.toInt(), + retransmittedPacketsSent: (value['retransmittedPacketsSent'] as num?) + ?.toInt(), kind: value['kind'], trackId: value['trackId'], targetBitrate: value['targetBitrate'], - ssrc: value['ssrc'], + ssrc: (value['ssrc'] as num?)?.toInt(), mediaType: value['mediaType'], - bytesSent: value['bytesSent'], + bytesSent: (value['bytesSent'] as num?)?.toInt(), mediaSourceId: value['mediaSourceId'], remoteId: value['remoteId'], codecId: value['codecId'], - packetsSent: value['packetsSent'], - retransmittedBytesSent: value['retransmittedBytesSent'], + packetsSent: (value['packetsSent'] as num?)?.toInt(), + retransmittedBytesSent: (value['retransmittedBytesSent'] as num?) + ?.toInt(), jitter: value['jitter'], ); } diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_video_stream.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_video_stream.dart index 4537af16a..0fee1ec2b 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_video_stream.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_outbound_rtp_video_stream.dart @@ -122,37 +122,40 @@ class RtcOutboundRtpVideoStream extends RtcStats type: value['type'], timestamp: value['timestamp'], transportId: value['transportId'], - qpSum: value['qpSum'], - headerBytesSent: value['headerBytesSent'], - hugeFramesSent: value['hugeFramesSent'], - framesEncoded: value['framesEncoded'], - nackCount: value['nackCount'], + qpSum: (value['qpSum'] as num?)?.toInt(), + headerBytesSent: (value['headerBytesSent'] as num?)?.toInt(), + hugeFramesSent: (value['hugeFramesSent'] as num?)?.toInt(), + framesEncoded: (value['framesEncoded'] as num?)?.toInt(), + nackCount: (value['nackCount'] as num?)?.toInt(), totalPacketSendDelay: value['totalPacketSendDelay'], rid: value['rid'], totalEncodeTime: value['totalEncodeTime'], - firCount: value['firCount'], - pliCount: value['pliCount'], - packetsSent: value['packetsSent'], - frameHeight: value['frameHeight'], - frameWidth: value['frameWidth'], - framesSent: value['framesSent'], + firCount: (value['firCount'] as num?)?.toInt(), + pliCount: (value['pliCount'] as num?)?.toInt(), + packetsSent: (value['packetsSent'] as num?)?.toInt(), + frameHeight: (value['frameHeight'] as num?)?.toInt(), + frameWidth: (value['frameWidth'] as num?)?.toInt(), + framesSent: (value['framesSent'] as num?)?.toInt(), framesPerSecond: value['framesPerSecond'], - keyFramesEncoded: value['keyFramesEncoded'], - retransmittedPacketsSent: value['retransmittedPacketsSent'], + keyFramesEncoded: (value['keyFramesEncoded'] as num?)?.toInt(), + retransmittedPacketsSent: (value['retransmittedPacketsSent'] as num?) + ?.toInt(), kind: value['kind'], trackId: value['trackId'], - ssrc: value['ssrc'], + ssrc: (value['ssrc'] as num?)?.toInt(), mediaType: value['mediaType'], qualityLimitationReason: value['qualityLimitationReason'], qualityLimitationResolutionChanges: - value['qualityLimitationResolutionChanges'], - bytesSent: value['bytesSent'], + (value['qualityLimitationResolutionChanges'] as num?)?.toInt(), + bytesSent: (value['bytesSent'] as num?)?.toInt(), mediaSourceId: value['mediaSourceId'], encoderImplementation: value['encoderImplementation'], remoteId: value['remoteId'], codecId: value['codecId'], - totalEncodedBytesTarget: value['totalEncodedBytesTarget'], - retransmittedBytesSent: value['retransmittedBytesSent'], + totalEncodedBytesTarget: (value['totalEncodedBytesTarget'] as num?) + ?.toInt(), + retransmittedBytesSent: (value['retransmittedBytesSent'] as num?) + ?.toInt(), jitter: value['jitter'], targetBitrate: value['targetBitrate'], ); diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_audio_stream.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_audio_stream.dart index bb5f7b772..900f66ca2 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_audio_stream.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_audio_stream.dart @@ -45,13 +45,14 @@ class RtcRemoteInboundRtpAudioStream extends RtcRemoteInboundRtp { kind: value['kind'], outboundId: value['localId'], codecId: value['codecId'], - ssrc: value['ssrc'], + ssrc: (value['ssrc'] as num?)?.toInt(), jitter: value['jitter'], - roundTripTimeMeasurements: value['roundTripTimeMeasurements'], + roundTripTimeMeasurements: (value['roundTripTimeMeasurements'] as num?) + ?.toInt(), roundTripTime: value['roundTripTime'], totalRoundTripTime: value['totalRoundTripTime'], fractionLost: value['fractionLost'], - packetsLost: value['packetsLost'], + packetsLost: (value['packetsLost'] as num?)?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_video_stream.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_video_stream.dart index 9b27a25b4..8102d5225 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_video_stream.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_remote_inbound_rtp_video_stream.dart @@ -45,13 +45,14 @@ class RtcRemoteInboundRtpVideoStream extends RtcRemoteInboundRtp { kind: value['kind'], outboundId: value['localId'], codecId: value['codecId'], - ssrc: value['ssrc'], + ssrc: (value['ssrc'] as num?)?.toInt(), jitter: value['jitter'], - roundTripTimeMeasurements: value['roundTripTimeMeasurements'], + roundTripTimeMeasurements: (value['roundTripTimeMeasurements'] as num?) + ?.toInt(), roundTripTime: value['roundTripTime'], totalRoundTripTime: value['totalRoundTripTime'], fractionLost: value['fractionLost'], - packetsLost: value['packetsLost'], + packetsLost: (value['packetsLost'] as num?)?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/model/stats/rtc_video_source.dart b/packages/stream_video/lib/src/webrtc/model/stats/rtc_video_source.dart index 4826a3b17..f3b031441 100644 --- a/packages/stream_video/lib/src/webrtc/model/stats/rtc_video_source.dart +++ b/packages/stream_video/lib/src/webrtc/model/stats/rtc_video_source.dart @@ -41,10 +41,10 @@ class RtcVideoSource extends RtcMediaSource { timestamp: value['timestamp'], kind: value['kind'], trackIdentifier: value['trackIdentifier'], - width: value['width'], - height: value['height'], + width: (value['width'] as num?)?.toInt(), + height: (value['height'] as num?)?.toInt(), framesPerSecond: value['framesPerSecond'], - frames: value['frames'], + frames: (value['frames'] as num?)?.toInt(), ); } return null; diff --git a/packages/stream_video/lib/src/webrtc/rtc_manager.dart b/packages/stream_video/lib/src/webrtc/rtc_manager.dart index 6dc56032d..44f21cb85 100644 --- a/packages/stream_video/lib/src/webrtc/rtc_manager.dart +++ b/packages/stream_video/lib/src/webrtc/rtc_manager.dart @@ -1639,11 +1639,15 @@ extension on RtcLocalTrack { // try to use getSettings for more accurate resolution final settings = mediaTrack.getSettings(); streamLog.v(_tag, () => '[publishVideoTrack] settings: $settings'); - if (settings['width'] is int) { - dimension = dimension.copyWith(width: settings['width'] as int); + if (settings['width'] is num) { + dimension = dimension.copyWith( + width: (settings['width'] as num).toInt(), + ); } - if (settings['height'] is int) { - dimension = dimension.copyWith(height: settings['height'] as int); + if (settings['height'] is num) { + dimension = dimension.copyWith( + height: (settings['height'] as num).toInt(), + ); } } catch (_) { streamLog.w(