UNPKG

awrtc_browser

Version:

Compatible browser implementation to the Unity asset WebRTC Video Chat. Try examples in build folder

64 lines (63 loc) 2.21 kB
import { IFrameData, RawFrame } from "../media/RawFrame"; /**Internal use only. * Bundles all functionality related to MediaStream, Tracks and video processing. * It creates two HTML elements: Video and Canvas to interact with the video stream * and convert the visible frame data to Uint8Array for compatibility with the * unity plugin and all other platforms. * */ export declare class BrowserMediaStream { static DEBUG_SHOW_ELEMENTS: boolean; static sUseLazyFrames: boolean; static sNextInstanceId: number; private mStream; get Stream(): MediaStream; private mBufferedFrame; private mInstanceId; private mVideoElement; get VideoElement(): HTMLVideoElement; private mCanvasElement; private mIsActive; static DEFAULT_FRAMERATE: number; private mMsPerFrame; private mFrameRateKnown; private mLastFrameTime; /** Number of the last frame (not yet supported in all browsers) * if it remains at <= 0 then we just generate frames based on * the timer above */ private mLastFrameNumber; private mHasVideo; InternalStreamAdded: (stream: BrowserMediaStream) => void; constructor(stream: MediaStream); private CheckFrameRate; SetupElements(): void; /** Returns the current frame number. * Treat a return value of 0 or smaller as unknown. * (Browsers might have the property but * always return 0) */ private GetFrameNumber; TryGetFrame(): IFrameData; SetMute(mute: boolean): void; PeekFrame(): IFrameData; /** Ensures we have the latest frame ready * for the next PeekFrame / TryGetFrame calls */ private EnsureLatestFrame; /** checks if the html tag has a newer frame available * (or if 1/30th of a second passed since last frame if * this info isn't available) */ private HasNewerFrame; Update(): void; DestroyCanvas(): void; Dispose(): void; CreateFrame(): RawFrame; private FrameToBuffer; private SetupVideoElement; private SetupCanvas; SetVolume(volume: number): void; HasAudioTrack(): boolean; HasVideoTrack(): boolean; }