Build 533169stable
Module 405163
2,936 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>o,T:()=>a});var r=n(972347),i=n(647457),s=n(247692),a=function(e){return e.Stream="stream",e.Video="video",e.Mute="mute",e.VoiceActivity="voiceactivity",e.DesktopSourceEnd="desktopsourceend",e.Speaking="speaking",e.AudioPermission="audio-permission",e.VideoPermission="video-permission",e.AddVideoTrack="add-video-track",e}({});class o extends r.A{audio;video=new s.A;desktop=null;stream;constructor(e){super(),this.audio=new i.A(e),this.audio.addListener("voiceactivity",this.handleVoiceActivity),this.audio.addListener("speaking",this.handleSpeaking),this.audio.addListener("stream",this.mergeStreams),this.audio.addListener("permission",this.handleAudioPermission),this.video.addListener("stream",this.mergeStreams),this.video.addListener("permission",this.handleVideoPermission),this.video.addListener("add-video-track",e=>this.emit("add-video-track",e))}destroy(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.removeAllListeners(),this.destroyStreams(e)}destroyStreams(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.audio.destroy(),this.video.destroy(),e?this.desktop?.reuse():this.desktop?.destroy()}setDesktop(e){this.destroyStreams(),e?.addListener("desktopsourceend",this.handleDesktopSourceEnd),e?.addListener("speaking",this.handleSpeaking),this.desktop=e,this.mergeStreams()}reset(){this.audio.reset(),this.desktop?.reset()}getVideoStream(){return null!=this.desktop?this.desktop.stream:this.video.stream}getVideoStreamId(){return null!=this.desktop?this.desktop.getStreamId():this.video.getStreamId()}enableAudioInput(){this.audio.enable()}setAudioMode(e,t){this.audio.setMode(e,t)}setMute(e){this.audio.mute=e,this.emit("mute",e)}setEchoCancellation(e){this.audio.echoCancellation=e}setNoiseSuppression(e){this.audio.noiseSuppression=e}setNoiseCancellation(e){this.audio.noiseCancellation=e}getNoiseCancellation(){return this.audio.noiseCancellation}setAutomaticGainControl(e){this.audio.automaticGainControl=e.enabled}setPTTActive(e){this.audio.setPTTActive(e)}setAudioSource(e){this.audio.setSource(e)}setVideoSource(e){this.video.setSource(e)}mute(){return this.audio.mute}resumeAudio(){this.audio.resume()}getAudioState(){return this.audio.state}hasDesktopSource(){return null!=this.desktop}mergeStreams=()=>{let e=new MediaStream;return null!=this.desktop?(this.desktop.stream?.getTracks().forEach(t=>e.addTrack(t)),this.desktop.refreshSpeaking()):(this.audio.stream?.getAudioTracks().forEach(t=>e.addTrack(t)),this.video.stream?.getVideoTracks().forEach(t=>e.addTrack(t))),this.stream=e,this.emit("stream",e),this.emit("video",this.getVideoStreamId()),e};handleVoiceActivity=e=>{this.emit("voiceactivity",e)};handleDesktopSourceEnd=()=>{this.emit("desktopsourceend")};handleSpeaking=e=>{this.emit("speaking",e)};handleAudioPermission=e=>{this.emit("audio-permission",e)};handleVideoPermission=e=>{this.emit("video-permission",e)}}}