@phenixrts/sdk
Version:
JavaScript SDK
21 lines (20 loc) • 1.26 kB
TypeScript
import DisposableList from '../../lang/DisposableList';
import Subject from '../../rx/Subject';
import { IStreamTrackTransform } from '../transformation/StreamTrackTransform';
import { IEncodedStreamSink } from '../transformation/EncodedStreamSink';
export interface IRTCEncodedFrame<T extends RTCEncodedVideoFrame | RTCEncodedAudioFrame> {
track: MediaStreamTrack;
chunk: T;
}
export default class InsertableStreams {
static configureEncodedStreamPipeline(stream: MediaStream, receivers: RTCRtpReceiver[], encodedVideoStreamSink: IEncodedStreamSink<RTCEncodedVideoFrame> | undefined, encodedAudioStreamSink: IEncodedStreamSink<RTCEncodedAudioFrame> | undefined, videoCodec: string, audioCodec: string): {
disposables: DisposableList;
encodedVideoFrame: Subject<IRTCEncodedFrame<RTCEncodedVideoFrame> | null>;
encodedAudioFrame: Subject<IRTCEncodedFrame<RTCEncodedAudioFrame> | null>;
};
static configureInsertableStreamTransformation(stream: MediaStream, videoStreamTransformCallback: IStreamTrackTransform<VideoFrame> | undefined, audioStreamTransformCallback: IStreamTrackTransform<AudioData> | undefined): {
transformedStream: MediaStream;
disposables: DisposableList;
};
constructor();
}