From b582b1ca78dfff0703a6d1b4413eb3ff9a48454b Mon Sep 17 00:00:00 2001 From: Mario Jr <mariogasparoni@gmail.com> Date: Fri, 29 Jan 2021 19:05:51 -0300 Subject: [PATCH] Correctly return MediaStream object when calling audio-manager's inputStream This was missed in recent audio/sip.js changes. MediaStream is now returned from SIP.js Related to #10733 --- .../imports/api/audio/client/bridge/sip.js | 11 +++++++++++ .../imports/ui/services/audio-manager/index.js | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js index 3b223e395a..98a8dc78f4 100755 --- a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js +++ b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js @@ -87,6 +87,13 @@ class SIPSession { this._currentSessionState = null; } + get inputStream() { + if (this.currentSession && this.currentSession.sessionDescriptionHandler) { + return this.currentSession.sessionDescriptionHandler.localMediaStream; + } + return null; + } + joinAudio({ isListenOnly, extension, inputDeviceId }, managerCallback) { return new Promise((resolve, reject) => { const callExtension = extension ? `${extension}${this.userData.voiceBridge}` : this.userData.voiceBridge; @@ -1064,6 +1071,10 @@ export default class SIPBridge extends BaseAudioBridge { return this.media.inputDevice ? this.media.inputDevice.inputDeviceId : null; } + get inputStream() { + return this.activeSession ? this.activeSession.inputStream : null; + } + joinAudio({ isListenOnly, extension }, managerCallback) { const hasFallbackDomain = typeof IPV4_FALLBACK_DOMAIN === 'string' && IPV4_FALLBACK_DOMAIN !== ''; diff --git a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js index d7c1a2f425..8ff349355f 100755 --- a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js +++ b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js @@ -354,7 +354,6 @@ class AudioManager { this.failedMediaElements = []; if (this.inputStream) { - window.defaultInputStream.forEach(track => track.stop()); this.inputStream.getTracks().forEach(track => track.stop()); this.inputDevice = { id: 'default' }; } @@ -510,7 +509,7 @@ class AudioManager { get inputStream() { this._inputDevice.tracker.depend(); - return this._inputDevice.value.stream; + return (this.bridge ? this.bridge.inputStream : null); } get inputDevice() { -- GitLab