UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

41 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPublication = void 0; const _1 = require("."); /**@internal */ function createPublication(channel, { publisherId, stream, origin, metadata, codecCapabilities, encodings, contentType, id, isEnabled, type, }) { const exist = channel._getPublication(id); if (exist) { return exist; } contentType = contentType.toLowerCase(); const originPublication = origin ? // todo fix originPublicationが不整合を起こすことがある channel._getPublication(origin) : undefined; // リレーされたPublicationのencodingsを設定する if (originPublication) { if (encodings.length === 0) { encodings = originPublication.encodings; } } const publisher = channel._getMember(publisherId); // typeがnullの場合はv2.0.0よりも前のバージョンにおけるp2pとして解釈する const publicationType = type !== null && type !== void 0 ? type : 'p2p'; const publication = new _1.PublicationImpl({ id, channel, publisher, contentType, metadata, origin: originPublication, stream, codecCapabilities: codecCapabilities !== null && codecCapabilities !== void 0 ? codecCapabilities : [], encodings, isEnabled, type: publicationType, }); return publication; } exports.createPublication = createPublication; //# sourceMappingURL=factory.js.map