UNPKG

@azure/communication-react

Version:

React library for building modern communication user experiences utilizing Azure Communication Services

65 lines 4 kB
import { LocalVideoStream, MediaStreamType, RemoteVideoStream, VideoStreamRenderer } from '@azure/communication-calling'; import { LocalVideoStreamState } from './CallClientState'; import type { CallContext } from './CallContext'; /** * Internally tracked render status. Stores the status of a video render of a stream as rendering could take a long * time. * * 'NotRendered' - the stream has not yet been rendered * 'Rendering' - the stream is currently rendering * 'Rendered' - the stream has been rendered * 'Stopping' - the stream is currently rendering but has been signaled to stop */ export type RenderStatus = 'NotRendered' | 'Rendering' | 'Rendered' | 'Stopping'; /** * Internal container to hold common state needed to keep track of renders. */ export interface RenderInfo<T> { status: RenderStatus; renderer: VideoStreamRenderer | undefined; stream: T; } /** * Internally used to keep track of the status, renderer, and awaiting promise, associated with a LocalVideoStream. */ export type LocalRenderInfo = RenderInfo<LocalVideoStream>; /** * Internally used to keep track of the status, renderer, and awaiting promise, associated with a RemoteVideoStream. */ export type RemoteRenderInfo = RenderInfo<RemoteVideoStream>; /** * Internally used to keep track of the status, renderer, and awaiting promise, associated with a CallFeatureVideoStream. */ export type CallFeatureRenderInfo = RenderInfo<RemoteVideoStream>; /** * Contains internal data used between different Declarative components to share data. */ export declare class InternalCallContext { private _remoteRenderInfos; private _localRenderInfos; private _callFeatureRenderInfos; private _unparentedRenderInfos; private _callIdHistory; private _unparentedViewVideoEffectsSubscriber; setCallId(newCallId: string, oldCallId: string): void; getCallIds(): IterableIterator<string>; getRemoteRenderInfoForCall(callId: string): Map<string, Map<number, RemoteRenderInfo>> | undefined; getRemoteRenderInfoForParticipant(callId: string, participantKey: string, streamId: number): RemoteRenderInfo | undefined; setRemoteRenderInfo(callId: string, participantKey: string, streamId: number, stream: RemoteVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void; deleteRemoteRenderInfo(callId: string, participantKey: string, streamId: number): void; setLocalRenderInfo(callId: string, streamKey: MediaStreamType, stream: LocalVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void; getLocalRenderInfosForCall(callId: string): Map<MediaStreamType, LocalRenderInfo> | undefined; getLocalRenderInfo(callId: string, streamKey: MediaStreamType): LocalRenderInfo | undefined; deleteLocalRenderInfo(callId: string, streamKey: MediaStreamType): void; getUnparentedRenderInfo(localVideoStream: LocalVideoStreamState): LocalRenderInfo | undefined; getUnparentedRenderInfos(): LocalVideoStream[]; setUnparentedRenderInfo(statefulStream: LocalVideoStreamState, stream: LocalVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void; deleteUnparentedRenderInfo(localVideoStream: LocalVideoStreamState): void; subscribeToUnparentedViewVideoEffects(localVideoStream: LocalVideoStream, callContext: CallContext): void; clearCallRelatedState(): void; getCallFeatureRenderInfosForCall(callId: string): Map<string, Map<MediaStreamType, CallFeatureRenderInfo>> | undefined; getCallFeatureRenderInfo(callId: string, featureNameKey: string, streamKey: MediaStreamType): CallFeatureRenderInfo | undefined; setCallFeatureRenderInfo(callId: string, featureNameKey: string, streamKey: MediaStreamType, stream: RemoteVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void; deleteCallFeatureRenderInfo(callId: string, featureName: string, streamKey: MediaStreamType): void; } //# sourceMappingURL=InternalCallContext.d.ts.map