UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

83 lines 3.08 kB
import { Event } from '@skyway-sdk/common'; import * as sdpTransform from 'sdp-transform'; import type { SkyWayContext } from '../../../../context'; import type { AnalyticsSession } from '../../../../external/analytics'; import type { IceManager } from '../../../../external/ice'; import type { SignalingSession } from '../../../../external/signaling'; import type { Codec } from '../../../../media'; import type { LocalPersonImpl } from '../../../../member/localPerson'; import type { RemoteMember } from '../../../../member/remoteMember'; import type { PublicationImpl } from '../../../../publication'; import type { TransportConnectionState } from '../../../interface'; import type { P2PMessage } from '.'; import { Peer } from './peer'; export declare class Sender extends Peer { readonly id: string; readonly onConnectionStateChanged: Event<TransportConnectionState>; publications: { [publicationId: string]: PublicationImpl; }; transceivers: { [publicationId: string]: RTCRtpTransceiver; }; datachannels: { [publicationId: string]: RTCDataChannel; }; private _pendingPublications; private _isNegotiating; private readonly promiseQueue; private _disposer; private _ms; private _backoffIceRestarted; private _connectionState; private _log; private _unsubscribeStreamEnableChange; private _cleanupStreamCallbacks; private _endpoint; private _sendDataQueue; constructor(context: SkyWayContext, iceManager: IceManager, signaling: SignalingSession, analytics: AnalyticsSession | undefined, localPerson: LocalPersonImpl, endpoint: RemoteMember); private _setConnectionState; /**@throws */ readonly restartIce: () => Promise<void>; get hasMedia(): boolean; private _getMid; private _listenStreamEnableChange; /**@throws {@link SkyWayError} */ add(publication: PublicationImpl): Promise<void>; private _setupTransportAccessForStream; /**@throws {SkyWayError} */ remove(publicationId: string): Promise<void>; private _replaceTrack; private _handleReceiverAnswer; private _safariSetupEncoding; /**@throws {@link SkyWayError} */ private _resolvePendingSender; close(): void; } export declare function applyCodecCapabilities(codecCapabilities: Codec[], mid: string, sdpObject: sdpTransform.SessionDescription): void; export interface SenderProduceMessage extends P2PMessage { kind: 'senderProduceMessage'; payload: { sdp: RTCSessionDescriptionInit; publicationId: string; info: { publicationId: string; streamId: string; mid: string; }; }; } export interface SenderUnproduceMessage extends P2PMessage { kind: 'senderUnproduceMessage'; payload: { sdp: RTCSessionDescriptionInit; publicationId: string; }; } export interface SenderRestartIceMessage extends P2PMessage { kind: 'senderRestartIceMessage'; payload: { sdp: RTCSessionDescriptionInit; }; } //# sourceMappingURL=sender.d.ts.map