import BrowserBehavior from '../browserbehavior/BrowserBehavior'; import Logger from '../logger/Logger'; import VideoStreamIdSet from '../videostreamidset/VideoStreamIdSet'; import VideoStreamIndex from '../videostreamindex/VideoStreamIndex'; import TransceiverController from './TransceiverController'; export default class DefaultTransceiverController implements TransceiverController { protected logger: Logger; protected browserBehavior: BrowserBehavior; protected _localCameraTransceiver: RTCRtpTransceiver | null; protected _localAudioTransceiver: RTCRtpTransceiver | null; protected videoSubscriptions: number[]; protected defaultMediaStream: MediaStream | null; protected peer: RTCPeerConnection | null; constructor(logger: Logger, browserBehavior: BrowserBehavior); setEncodingParameters(_params: Map): void; static setVideoSendingBitrateKbpsForSender(sender: RTCRtpSender, bitrateKbps: number, _logger: Logger): Promise; static replaceAudioTrackForSender(sender: RTCRtpSender, track: MediaStreamTrack): Promise; localAudioTransceiver(): RTCRtpTransceiver; localVideoTransceiver(): RTCRtpTransceiver; setVideoSendingBitrateKbps(bitrateKbps: number): Promise; setPeer(peer: RTCPeerConnection): void; reset(): void; useTransceivers(): boolean; hasVideoInput(): boolean; trackIsVideoInput(track: MediaStreamTrack): boolean; setupLocalTransceivers(): void; replaceAudioTrack(track: MediaStreamTrack): Promise; setAudioInput(track: MediaStreamTrack | null): Promise; setVideoInput(track: MediaStreamTrack | null): Promise; updateVideoTransceivers(videoStreamIndex: VideoStreamIndex, videosToReceive: VideoStreamIdSet): number[]; private updateTransceivers; private transceiverIsVideo; private debugDumpTransceivers; private setTransceiverInput; }