Skip to content
This repository was archived by the owner on Oct 25, 2024. It is now read-only.

Commit 6fac19e

Browse files
committed
Check optional properties of video info before creating VideoSubscriptionCapabilities. (#334)
(cherry picked from commit 1b72684)
1 parent 27cfd29 commit 6fac19e

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/sdk/conference/streamutils.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,23 +117,29 @@ export function convertToSubscriptionCapabilities(mediaInfo) {
117117
}
118118
}
119119
videoCodecs.sort();
120-
const resolutions = Array.from(
120+
if (mediaInfo.video && mediaInfo.video.optional && mediaInfo.video.optional
121+
.parameters) {
122+
const resolutions = Array.from(
121123
mediaInfo.video.optional.parameters.resolution,
122124
(r) => new MediaFormatModule.Resolution(r.width, r.height));
123-
resolutions.sort(sortResolutions);
124-
const bitrates = Array.from(
125+
resolutions.sort(sortResolutions);
126+
const bitrates = Array.from(
125127
mediaInfo.video.optional.parameters.bitrate,
126128
(bitrate) => extractBitrateMultiplier(bitrate));
127-
bitrates.push(1.0);
128-
bitrates.sort(sortNumbers);
129-
const frameRates = JSON.parse(
129+
bitrates.push(1.0);
130+
bitrates.sort(sortNumbers);
131+
const frameRates = JSON.parse(
130132
JSON.stringify(mediaInfo.video.optional.parameters.framerate));
131-
frameRates.sort(sortNumbers);
132-
const keyFrameIntervals = JSON.parse(
133+
frameRates.sort(sortNumbers);
134+
const keyFrameIntervals = JSON.parse(
133135
JSON.stringify(mediaInfo.video.optional.parameters.keyFrameInterval));
134-
keyFrameIntervals.sort(sortNumbers);
135-
video = new SubscriptionModule.VideoSubscriptionCapabilities(
136+
keyFrameIntervals.sort(sortNumbers);
137+
video = new SubscriptionModule.VideoSubscriptionCapabilities(
136138
videoCodecs, resolutions, frameRates, bitrates, keyFrameIntervals);
139+
} else {
140+
video = new SubscriptionModule.VideoSubscriptionCapabilities(videoCodecs,
141+
[], [], [1.0], []);
142+
}
137143
}
138144
return new SubscriptionModule.SubscriptionCapabilities(audio, video);
139145
}

0 commit comments

Comments
 (0)