UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

58 lines 2.34 kB
import { Event, type SkyWayError } from '@skyway-sdk/common'; 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 { RemoteStream } from '../../../../media/stream'; import type { LocalPersonImpl } from '../../../../member/localPerson'; import type { RemoteMember } from '../../../../member/remoteMember'; import type { SubscriptionImpl } from '../../../../subscription'; import type { TransportConnectionState } from '../../../interface'; import type { P2PMessage } from '.'; import { Peer } from './peer'; export declare class Receiver extends Peer { readonly id: string; readonly onConnectionStateChanged: Event<TransportConnectionState>; readonly onStreamAdded: Event<{ publicationId: string; stream: RemoteStream; }>; readonly onError: Event<SkyWayError<Record<string, any>>>; private _connectionState; private _publicationInfo; streams: { [publicationId: string]: RemoteStream; }; private _subscriptions; private readonly _promiseQueue; private _disposer; private _log; constructor(context: SkyWayContext, iceManager: IceManager, signaling: SignalingSession, analytics: AnalyticsSession | undefined, localPerson: LocalPersonImpl, endpoint: RemoteMember); private _setConnectionState; private _setupTransportAccessForStream; private _getCodecFromSdp; get hasMedia(): boolean; close(): void; add(subscription: SubscriptionImpl): void; remove(subscriptionId: string): void; /**@throws {SkyWayError} */ private _validateRemoteOffer; private get isWrongSignalingState(); /**@throws {SkyWayError} */ private _handleSenderProduce; /**@throws {SkyWayError} */ private _handleSenderUnproduce; /**@throws {SkyWayError} */ private _handleSenderRestartIce; private sendAnswer; get subscriptions(): { [subscriptionId: string]: SubscriptionImpl<RemoteStream>; }; } export interface ReceiverAnswerMessage extends P2PMessage { kind: 'receiverAnswerMessage'; payload: { sdp: RTCSessionDescriptionInit; }; } //# sourceMappingURL=receiver.d.ts.map