UNPKG

infobip-rtc

Version:

Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation

39 lines 1.2 kB
export class DefaultAudioFilterManager { constructor(audioFilter) { this.audioFilter = audioFilter; } async stop() { if (!this.originalTrack) { return; } await this.audioFilter.stop(); this.setActiveTrack(this.originalTrack); delete this.originalTrack; delete this.originalStream; delete this.filteredTrack; } getAudioFilter() { return this.audioFilter; } async start(stream) { const track = stream.getAudioTracks()[0]; if (!track) { return; } this.originalTrack?.stop(); this.originalTrack = track; this.originalStream = stream; this.filteredTrack = await this.audioFilter.start(track); this.setActiveTrack(this.filteredTrack); } setActiveTrack(track) { if (track !== this.originalTrack) { this.originalStream.removeTrack(this.originalTrack); } else if (track !== this.filteredTrack) { this.originalStream.removeTrack(this.filteredTrack); } this.originalStream.addTrack(track); } } //# sourceMappingURL=DefaultAudioFilterManager.js.map