@microsoft/teams-js
Version:
Microsoft Client SDK for building app for Microsoft hosts
55 lines (54 loc) • 2.21 kB
TypeScript
/**
* This class is used to monitor the performance of video processing, and report performance events.
*/
export declare class VideoPerformanceMonitor {
private reportPerformanceEvent;
private static readonly distributionBinSize;
private static readonly calculateFPSInterval;
private isFirstFrameProcessed;
private applyingEffect?;
private appliedEffect?;
private frameProcessTimeLimit;
private gettingTextureStreamStartedAt;
private currentStreamId;
private frameProcessingStartedAt;
private frameProcessingTimeCost;
private processedFrameCount;
private performanceStatistics;
constructor(reportPerformanceEvent: (apiVersionTag: string, actionName: string, args: unknown[]) => void);
/**
* Start to check frame processing time intervally
* and report performance event if the average frame processing time is too long.
*/
startMonitorSlowFrameProcessing(): void;
/**
* Define the time limit of frame processing.
* When the average frame processing time is longer than the time limit, a "video.performance.frameProcessingSlow" event will be reported.
* @param timeLimit
*/
setFrameProcessTimeLimit(timeLimit: number): void;
/**
* Call this function when the app starts to switch to the new video effect
*/
reportApplyingVideoEffect(effectId: string, effectParam?: string): void;
/**
* Call this function when the new video effect is ready
*/
reportVideoEffectChanged(effectId: string, effectParam?: string): void;
/**
* Call this function when the app starts to process a video frame
*/
reportStartFrameProcessing(frameWidth: number, frameHeight: number): void;
/**
* Call this function when the app finishes successfully processing a video frame
*/
reportFrameProcessed(): void;
/**
* Call this function when the app starts to get the texture stream
*/
reportGettingTextureStream(streamId: string): void;
/**
* Call this function when the app finishes successfully getting the texture stream
*/
reportTextureStreamAcquired(): void;
}