@api.video/media-stream-composer
Version:
api.video media stream composer
42 lines (41 loc) • 1.58 kB
TypeScript
export type StreamPositionType = "contain" | "cover" | "fixed";
interface FixedPositionSettings {
x?: number;
y?: number;
width?: number;
height?: number;
}
export interface Resolution {
height: number;
width: number;
}
export interface Position {
x: number;
y: number;
}
interface DimensionsCalculationResult {
displayResolution: Resolution;
position: Position;
radius?: number;
}
export type StreamMask = "none" | "circle";
export declare abstract class StreamPosition {
abstract calculatePositionAndDimensions(containerDimensions: Resolution, streamDimensions: Resolution, mask: StreamMask): DimensionsCalculationResult;
}
declare class StreamPositionFixed extends StreamPosition {
private fixedPositionSettings;
constructor(fixedPositionSettings: FixedPositionSettings);
calculatePositionAndDimensions(containerDimensions: Resolution, streamDimensions: Resolution, mask: StreamMask): DimensionsCalculationResult;
}
declare class StreamPositionContain extends StreamPosition {
calculatePositionAndDimensions(containerDimensions: Resolution, streamDimensions: Resolution, mask: StreamMask): DimensionsCalculationResult;
}
declare class StreamPositionCover extends StreamPosition {
calculatePositionAndDimensions(containerDimensions: Resolution, streamDimensions: Resolution, mask: StreamMask): DimensionsCalculationResult;
}
export declare const Position: {
contain: StreamPositionContain;
cover: StreamPositionCover;
fixed: (position: FixedPositionSettings) => StreamPositionFixed;
};
export {};