@flashphoner/websdk 2.0.222 → 2.0.223

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12254,10 +12254,10 @@ var stripCodecs = function stripCodecs(sdp, codecs) {
12254
12254
  var getCurrentCodecAndSampleRate = function getCurrentCodecAndSampleRate(sdp, mediaType) {
12255
12255
  var rows = sdp.split("\n");
12256
12256
  var codecPt;
12257
+ var ret = {};
12257
12258
 
12258
12259
  for (var i = 0; i < rows.length; i++) {
12259
12260
  if (codecPt && rows[i].indexOf("a=rtpmap:" + codecPt) != -1) {
12260
- var ret = {};
12261
12261
  ret.name = rows[i].split(" ")[1].split("/")[0];
12262
12262
  ret.sampleRate = rows[i].split(" ")[1].split("/")[1];
12263
12263
  return ret;
@@ -12267,7 +12267,12 @@ var getCurrentCodecAndSampleRate = function getCurrentCodecAndSampleRate(sdp, me
12267
12267
  if (rows[i].indexOf("m=" + mediaType) != -1) {
12268
12268
  codecPt = rows[i].split(" ")[3].trim();
12269
12269
  }
12270
- }
12270
+ } // A workaround for empty sdp passed #WCS-3583
12271
+
12272
+
12273
+ ret.name = "undefined";
12274
+ ret.sampleRate = "undefined";
12275
+ return ret;
12271
12276
  };
12272
12277
 
12273
12278
  module.exports = {
@@ -12811,8 +12816,17 @@ var createConnection = function createConnection(options) {
12811
12816
  var mediaType = report.mediaType;
12812
12817
  obj[mediaType] = {}; //WCS-1922, currentRemoteDescription - browser compatibilitySection: Chrome 70, FF 57, Safari 11
12813
12818
 
12814
- var description = connection.currentRemoteDescription != undefined ? connection.currentRemoteDescription : connection.remoteDescription;
12815
- var codec = util.getCurrentCodecAndSampleRate(description.sdp, mediaType);
12819
+ var description = connection.currentRemoteDescription != undefined ? connection.currentRemoteDescription : connection.remoteDescription; // SDP may be null in Safari 12.1 and older, prevent TypeError here #WCS-3583
12820
+
12821
+ var sdp = "";
12822
+
12823
+ if (description && description.sdp) {
12824
+ sdp = description.sdp;
12825
+ } else {
12826
+ logger.debug(LOG_PREFIX, "Can't parse current SDP to detect codec and sampleRate");
12827
+ }
12828
+
12829
+ var codec = util.getCurrentCodecAndSampleRate(sdp, mediaType);
12816
12830
  obj[mediaType]["codec"] = codec.name;
12817
12831
  obj[mediaType]["codecRate"] = codec.sampleRate;
12818
12832
  Object.keys(report).forEach(function (key) {