From 4d48cc00581b1bd3c2bb3be7431d8a0ceefdb16a Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Thu, 9 Feb 2023 23:22:36 +0800 Subject: [PATCH] fix bug for FF. --- lib/src/rtc_rtp_parameters_impl.dart | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/src/rtc_rtp_parameters_impl.dart b/lib/src/rtc_rtp_parameters_impl.dart index 62115f8..94405b5 100644 --- a/lib/src/rtc_rtp_parameters_impl.dart +++ b/lib/src/rtc_rtp_parameters_impl.dart @@ -5,15 +5,19 @@ class RTCRtpParametersWeb { static RTCRtpParameters fromJsObject(Object object) { return RTCRtpParameters( transactionId: jsutil.getProperty(object, 'transactionId'), - rtcp: RTCRTCPParametersWeb.fromJsObject( - jsutil.getProperty(object, 'rtcp')), + rtcp: jsutil.hasProperty(object, 'transactionId') + ? RTCRTCPParametersWeb.fromJsObject( + jsutil.getProperty(object, 'rtcp')) + : null, headerExtensions: headerExtensionsFromJsObject(object), encodings: encodingsFromJsObject(object), codecs: codecsFromJsObject(object)); } static List headerExtensionsFromJsObject(Object object) { - var headerExtensions = jsutil.getProperty(object, 'headerExtensions'); + var headerExtensions = jsutil.hasProperty(object, 'headerExtensions') + ? jsutil.getProperty(object, 'headerExtensions') + : []; var list = []; headerExtensions.forEach((e) { list.add(RTCHeaderExtensionWeb.fromJsObject(e)); @@ -22,7 +26,9 @@ class RTCRtpParametersWeb { } static List encodingsFromJsObject(Object object) { - var encodings = jsutil.getProperty(object, 'encodings'); + var encodings = jsutil.hasProperty(object, 'encodings') + ? jsutil.getProperty(object, 'encodings') + : []; var list = []; encodings.forEach((e) { list.add(RTCRtpEncodingWeb.fromJsObject(e)); @@ -31,7 +37,9 @@ class RTCRtpParametersWeb { } static List codecsFromJsObject(Object object) { - var encodings = jsutil.getProperty(object, 'codecs'); + var encodings = jsutil.hasProperty(object, 'codecs') + ? jsutil.getProperty(object, 'codecs') + : []; var list = []; encodings.forEach((e) { list.add(RTCRTPCodecWeb.fromJsObject(e));