UNPKG

infobip-rtc

Version:

Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation

33 lines 1.41 kB
import VideoType from "../../../util/VideoType"; export const BitrateConfig = { [VideoType.CAMERA]: 2000000, [VideoType.SCREENSHARE]: 2500000, }; export function configureForSending(peerConnection, streamKind, bitrateBps, logger) { if (!peerConnection) { return; } const senders = peerConnection.getSenders(); senders.forEach((sender) => { var _a, _b; if (sender.track && sender.track.kind !== streamKind) { return; } const parameters = sender.getParameters(); (_a = parameters.encodings) !== null && _a !== void 0 ? _a : (parameters.encodings = [{}]); if (bitrateBps <= 0) { return; } logger.debug(`Configuring ${(_b = sender === null || sender === void 0 ? void 0 : sender.track) === null || _b === void 0 ? void 0 : _b.id} bitrate for video streaming to ${bitrateBps / 1000} [Kbps]`); if (parameters.encodings[0]) { parameters.encodings[0].priority = "high"; parameters.encodings[0].networkPriority = "high"; } parameters.encodings.forEach(encoding => { encoding.maxBitrate = bitrateBps; }); sender.setParameters(parameters) .catch(err => logger.error(`Changing sender parameters failed: ${err === null || err === void 0 ? void 0 : err.message}`)); }); } //# sourceMappingURL=BitrateUtil.js.map