@phenixrts/sdk
Version:
JavaScript SDK
36 lines (35 loc) • 1.51 kB
TypeScript
import Subject from '../../rx/Subject';
import PublisherState from './PublisherState';
import EndPoint, { IStream, AddIceCandidatesStatus, SetRemoteDescriptionStatus } from '../discovery/EndPoint';
import DisposableList from '../../lang/DisposableList';
import { IRtcPublishMonitorStatistic } from '../../rtc/RtcPublishMonitor';
import { PublishStatus } from '../api/Publish';
export default class PublisherContext {
publisherInitialization: Date;
disposables: DisposableList;
publisherDisposables: DisposableList;
state: Subject<PublisherState>;
authorized: Subject<boolean>;
online: Subject<boolean>;
loading: Subject<boolean>;
publishing: Subject<boolean>;
standby: Subject<boolean>;
stopped: Subject<boolean>;
failureCount: Subject<number>;
endPoint: Subject<EndPoint | null>;
stream: Subject<IStream | null>;
rtcStatistics: Subject<IRtcPublishMonitorStatistic | null>;
clearFailureCountTimeout: number;
startReconnectionAttemptsTimeInMilliseconds: number;
name: string;
constructor(name?: string);
get streamId(): string;
applyPublishStatus(status: PublishStatus): void;
applySetRemoteDescriptionStatus(status: SetRemoteDescriptionStatus): void;
applyAddIceCandidatesStatus(status: AddIceCandidatesStatus): void;
mapPublishStatusToPublisherStatus(status: PublishStatus): PublisherState;
applyUnhandledError(): void;
applyUnauthorized(): void;
applyNotFound(): void;
private generateScreenName;
}