- Jul 09, 2021
-
-
Mario Jr authored
-
- Jul 02, 2021
-
-
Mario Jr authored
-
- Jul 01, 2021
-
-
Mario Jr authored
Here's what we do when user activates mic: 1 - When we do something similar to listenonly's joining process until we find a valid candidate-pair. The information about this local candidate is store. 2 - We then start a new userAgent, and as soon as browser finds a candidate with the same local ip address, we leave only this candidate in the SDP and send this to FreeSWITCH. SDP should contain only a single candidate. 3 - The rest of signaling process is basically the same.
-
- Apr 16, 2021
-
-
Mario Jr authored
This commit contains three fixes: one already reported and two detected during the investigation of the solution. This started as a fix for firefox (#12023), but i also fixed the muted alert/banner when device changes: the banner wasn't detecting device changes, unless audio was deactived/actived. There's another fix for the microphone stream: we now keep sender's track disabled if it was already disabled for the sender's track of the previous selected device. Also did small refactor for eslint checking. Some technical information: in sip bridge (bridge/sip.js), setInputStream and liveChangeInputDevice function were both fully turned into promises, which guarantees we have everything ready when it resolves to the respective values. This helps AudioManager (audio-manager/index.js) to sequentially sets and tracks the state of the current microphone stream (inputStream), when calling liveChangeInputDevice function: we first set the current stream to null, creats a new one and then set it to the newly created value - this is needed because MutedAlert (muted-alert/component.jsx) can then gracefully allocate/deallocate the cloned stream when it is set to a non-null/null value (the cloned stream is used for speech detection with hark). In MutedAlert we also make sure to enable the cloned stream's audio tracks, just in case the user change the device when muted (audio track is disabled in this case), which also leaves the cloned stream muted (we then enable the track to allow speech detection). Closes #12023
-
- Apr 12, 2021
-
-
Ramon Souza authored
-
Ramon Souza authored
-
- Apr 01, 2021
-
-
Mario Jr authored
Firefox doesn't create a device called 'default' and we were trying to set this when user is joining the room. We don't do this anymore, letting devices to be changed when there's some user request. Moved outputDeviceId inputDeviceId information to be managed in bridge (just like we do with inputDeviceId), we don't store this duplicated information in audio container anymore. Fixed the eslint warning in "playAlertSound(url) { ..." We are safe to let users try to change input/output devices because the device list is retrieved from enumerateDevices.
-
- Mar 29, 2021
-
-
Mario Jr authored
Allow listenonly users to change output devices Fixed dynamic audio device change for firefox Fixed shortcuts for audio join/leave Show (with a bold font) the current selected device [performance] Prevent calling mediaDevices.enumerateDevices every time we render the selector. This adds a delay (~200ms, on my chrome setup) to render this component [performance] Do not call enumerateDevices to search for new devices, instead we listen on mediaDevices.deviceChange event Small refactoring and fixed a few errors that were being throw in browser's console Fixed device selection when this is done in audio-settings modal Fallback to default device when current device is removed Truncate device name length Renamed "Input","Output" labels to "Microphone","Speakers", respectively Update eslint rule for accessKey
-
- Mar 12, 2021
-
-
prlanzarin authored
The underlying webkit autoplay issues were properly tackled a long time ago now; this thing isnt needed anymore Also took the liberty to remove the whole create listen only stream thing because it`s useless
-
prlanzarin authored
-
- Mar 08, 2021
-
-
Mario Jr authored
When leaving audio/reconnecting , we must update breakout audio transfer state. Related to the issue #11333
-
Mario Jr authored
We now update breakout'a audio transfer status by using an object
-
Mario Jr authored
Currently this information is lost everytime breakout-room component is unmounted, causing the panel to shows wrong information during next renders Fixes #11333
-
- Mar 05, 2021
- Feb 26, 2021
- Feb 25, 2021
-
-
Mario Jr authored
Fixes #11489
-
- Feb 23, 2021
-
-
Mario Jr authored
After ending the notification playback, we set the ".src" property to null, which immediately stop the internal player of mobile browser (tested on Chrome for Android - device list is on #11458). For the specific list of devices, this prevents the internal buffer error "-61" described in #11458. Fixes #11458.
-
- Feb 12, 2021
-
-
Mario Jr authored
After audio reconnection, a muted user would have it's microphone unmuted by default, unless muteOnStart is set to true. This fix this problem. Fixes #9016
-
- Jan 29, 2021
-
-
Mario Jr authored
This was missed in recent audio/sip.js changes. MediaStream is now returned from SIP.js Related to #10733
-
Mario Jr authored
As explained in #11143, disabling audio filters is desired in some scenarios. This basically adds an option for user to disable default constraints. When user doesn't change this value in Settings > Application, the default value for each audio constraints is retrieved from settings.yml. When user changes this value in Settings > Application, audio filters (AGC, Noise Supression and Echo Cancellation) are all set to true/false, according to the value selected in the Settings GUI. To start it simple, we decided to not to add a different setting in the GUI for each audio contraint. This may be added in the future, though (perhaps in a dedicated Audio Settings tab) This is related to #4873
-
- Jan 22, 2021
-
-
Mario Jr authored
As explained in #11143, disabling audio filters is desired in some scenarios. This basically adds an option for user to disable default constraints. When user doesn't change this value in Settings > Application, the default value for each audio constraints is retrieved from settings.yml. When user changes this value in Settings > Application, audio filters (AGC, Noise Supression and Echo Cancellation) are all set to true/false, according to the value selected in the Settings GUI. To start it simple, we decided to not to add a different setting in the GUI for each audio contraint. This may be added in the future, though (perhaps in a dedicated Audio Settings tab) This is related to #4873
-
- Jan 06, 2021
-
-
Anton Georgiev authored
-
- Dec 01, 2020
-
-
prlanzarin authored
-
- Nov 30, 2020
-
-
Anton Georgiev authored
-
- Oct 15, 2020
-
-
Mario Jr authored
We now let sip.js handle getUserMedia calls, same should happen when skipCheck is active. Solves #10652.
-
- Oct 06, 2020
-
-
Mario Jr authored
When refusing ("thumbs down" button) echo test, user is able to select a different input device. This should work fine for chrome, firefox and safari (once user grants permission when asked by html5client). For output devices, we depend on setSinkId function, which is enabled by default on current chrome release (2020) but not in Firefox (user needs to enable "setSinkId in about:config page). This implementation is listed as (?) in MDN. In other words, output device selection should work out of the box for chrome, only. When selecting an outputDevice, all alert sounds (hangup, screenshare , polling, etc) also goes to the same output device. This solves #10592
-
- Sep 25, 2020
-
-
Mario Jr authored
This considerably changes the way we process audio signaling and start audio elements in user's browser. We now avoid using AudioContext element for both microphone and listenonly calls, once it is unstable for some iOS devices (cracky audio, user stops hearing audio after a while). Increased default value for listenOnlyCallTimeout: this avoids activating FreeSWITCH's fallback when ICE negotiation takes longer than 15sec (tested on DO). Increased listenonly logs. This fixes #8133 #10388
-
- Sep 11, 2020
-
-
prlanzarin authored
-
- Sep 10, 2020
-
-
prlanzarin authored
-
- Sep 09, 2020
-
-
prlanzarin authored
Should increase client-server mute state consistency
-
prlanzarin authored
The mic mute is done client side via the track`s enabled flag, which generates silent when false. This still tracks the server/freeswitch mute state, so server-side mutes will be reproduced in the client
-
- Aug 26, 2020
-
-
Pedro Beschorner Marin authored
We noticed that the mute action button wasn't being consistent when using muteOnStart as meeting configuration. Included the addition of the voice user object to the collection as an event to also be observed.
-
- Jul 27, 2020
-
-
Tainan Felipe authored
-
- Jul 09, 2020
-
-
prlanzarin authored
-
- Jun 22, 2020
-
-
Anton Georgiev authored
-
- Jun 19, 2020
-
-
Anton Georgiev authored
-
Tainan Felipe authored
-