Commit Graph

5126 Commits

Author SHA1 Message Date
prlanzarin
234efd289a audio: add a configurable throttle to action-bar`s mute toggle
Default value is 300ms, with default trailing/leading. Set toggleMuteThrottleTime to 0 to restore old behaviour
2021-01-26 11:47:48 -03:00
Mario Jr
97c76900cb Add setting for enabling/disabling microphone audio filters
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
2021-01-22 16:30:42 -03:00
Joao Siebel
bb831e0442 Modify throttle interval to be a const variable 2021-01-21 14:05:59 -03:00
Joao Siebel
8f36ac3586 Add throttle to startUserTyping function 2021-01-21 13:05:41 -03:00
Joao Siebel
fa0fd8a054 Add configurable process interval for cursor and annotations 2021-01-20 11:36:40 -03:00
Anton Georgiev
0ba3aa713a
Merge pull request #10912 from lkiesow/16x9
Improve 16x9 Support
2021-01-18 16:05:01 -05:00
Pedro Beschorner Marin
cc9b552e2a Fix stream stop for multiple webcams
Video provider's service for local stream control was wrongly setting the disconnected
state when a multiple webcam user tried to stop a single cam. The `stopVideo` method
was inconsistent when called multiple times for the same `cameraId`.

Included a better testing scope for event dispatching and disconnected state handling.
2021-01-12 13:24:40 -03:00
Pedro Beschorner Marin
4e370d28ec Add timeout at video's preview modal
Some browsers seem to (occasionally) not return the getUserMedia promise call and the
user gets stuck in this state unable to share her/his webcam.

Since enumerateDevices still works even on a gUM rejection this includes a racing
timeout that skips gUM. Configured at settings `gUMTimeout`.

Reproduced with Windows 10 Chrome 87.
2020-12-22 20:10:19 +00:00
Pedro Beschorner Marin
c8ace18f85 Enumerate devices even if first getUserMedia fails
The first getUserMedia was not supposed to be considered critical to the whole
video preview flow.

Scenarios where the user has multiple media sources and one of them was already
in use or had some malfunction problem were forcing a global skip at the video
preview modal even if one of them was available to be used.
2020-12-22 19:26:28 +00:00
Pedro Beschorner Marin
f6217308dd Refactor video preview getUserMedia preview error handler 2020-12-22 19:26:23 +00:00
Pedro Beschorner Marin
dced6bd2b8 Add missing getUserMedia errors
Collected from https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
2020-12-22 19:25:48 +00:00
Pedro Beschorner Marin
62d491c8e4 Refactor video preview getUserMedia device error handler 2020-12-21 20:54:21 +00:00
CristianSilvaGrosseli
0c4f903c39 use placeholder in the logger.error method return in the video-preview component. fix wrong file permission. 2020-12-21 20:53:56 +00:00
CristianSilvaGrosseli
d8ed8f2570 use correct pattern in video-preview's handleGUMError method. 2020-12-21 20:53:12 +00:00
CristianSilvaGrosseli
ffd1063332 video-preview component's handleGUMError method rehabilitation. 2020-12-21 20:52:15 +00:00
prlanzarin
d6fdd79412 sfu-base-broker: add beforeunload listener to avoid logging false positive errors 2020-12-08 20:19:03 +00:00
prlanzarin
218c6a6549 [audio-manager] Add bridge name to callback logging and fix listen only audio exit 2020-12-01 18:24:24 +00:00
prlanzarin
0077a83ef5 [html5/webrtc] Add a centralized util to load and play a media element with proper error handling
To be used with bbb-webrtc-sfu based media brokers
2020-12-01 18:10:17 +00:00
prlanzarin
a7559a6b7d [listenonly] Add new SFU listen only negotiation broker
A replacement to the old kurento-extension script which is to be considered legacy code
2020-12-01 18:09:10 +00:00
prlanzarin
a49aa0a1ca [html5/webrtc] Added proper error handling in bbb-webrtc-sfu base broker
Moved bbb-webrtc-sfu utilitaries to properly named folder

Logging improvements to base broker

Added onerror/onstart/onended callback interfaces to base broker
2020-12-01 18:06:50 +00:00
prlanzarin
b86b7323e7 [html5/webrtc] Add base class for an isolated webrtc-sfu signalling broker
Extracts most of the common bbb-webrtc-sfu WebSocket setup, handshaking and message broker procedures that was scattered among HTML5 components (video, screenshare and listen only) into a base class suitable for inheritance
2020-12-01 17:13:34 +00:00
prlanzarin
9875876b5e media: add a webrtc service utilitary to propagate peer state changes 2020-12-01 17:12:39 +00:00
Anton Georgiev
6d258ac223
Merge pull request #10925 from lkiesow/mirror-cameras
Allow mirroring individual webcams
2020-11-30 11:14:22 -05:00
Lars Kiesow
74efe8735b
Allow mirroring individual webcams
BigBlueButton already allows mirroring the users own webcam as a global
setting set by administrators. Users have no way of choosing this on
their own.

This patch turns this functionality into a user setting for all webcams.
Every camera menu now gets a “mirror” entry.

The global setting is still used as a default value, keeping the current
behavior as it is to not confuse users.
2020-11-29 20:54:01 +01:00
Lars Kiesow
b8fc94c722
Improve 16x9 Support
This is a very simple patch improving the support for 16x9 cameras.

In mixed mode – if 4x3 and 16x9 cameras are present – everything looks
like it did before but if only 16x9 (or wider) cameras are present,
BigBlueButton will drop the letter boxes and show a 16x9 video
container.
2020-11-27 01:28:21 +01:00
Lucas Zawacki
7c704c78c1 PeerTube player, first version 2020-11-26 17:33:08 -03:00
Mario Jr
9a2fcd27e0 Revert "Prevent Error 1006 when user has two or more occurrences of ':' (colon) in your name"
This reverts commit 0a601359bb.
2020-11-20 00:23:43 -03:00
Anton Georgiev
dedaea5ad2 who-is-talking - do not allow mute in breakouts 2020-11-19 14:14:37 -05:00
Mario Jr
8822819900 Filter 'name' field in user's search
This is a part of #10848, as discussed in https://github.com/bigbluebutton/bigbluebutton/pull/10848#discussion_r525480434
2020-11-18 10:40:15 -03:00
Mario Jr
0a601359bb Prevent Error 1006 when user has two or more occurrences of ':' (colon) in your name
This happens because FreeSWITCH is not able to parse the "From" header when it has multiple occurrences of ':'. So user is not able to join audio.
To fix, we now changed the "callerId" to use the base64 value of the user name, instead of directly using user's input (the callerId format keeps being a triple like this: <user_id>-bbbID-<base64_encoded_name>).
Once this callerIdName is encoded at the same point it is generated, there shouldn't be server side effects for changing this value; except for those places where the callerName is retrieved by splitting this triple (such as the voice talking-indicator, as described below).
Updated the talking-indicator to retrieve the username from User's object, instead of retrieving from the one username generated by splitting the callerId triple.
This problem also happens in versions <= 2.2.26.
2020-11-17 15:31:43 -03:00
Mario Jr
1b1a055d37 Fix audio modal buttons (MIC/LISTEN) not working after audio error
When user joins audio and for some reason an error (such as 1001, 1002,...), happens, the user is not able to click "Mic" and "Listen Only Buttons"; except if the audio window is closed and oppened again.
2020-11-17 15:31:42 -03:00
Fred Dixon
97da7d6023
Merge pull request #10704 from KDSBrowne/2.2-upload-modal-error-bound
Add error boundary to presentation upload modal
2020-11-06 16:40:50 -05:00
Richard Alam
e28bba42fc
Merge pull request #10742 from KDSBrowne/2.2-issue-10705
Prevent users from sending multiple votes per poll
2020-11-06 16:33:56 -05:00
KDSBrowne
7c690ab22c fix presentation downloadable tooltip msg 2020-10-30 13:00:07 +00:00
KDSBrowne
d2cb02b3bd prevent users from being able to send more than 1 poll vote 2020-10-28 18:33:09 +00:00
Zh4rsiest
3f13f4eca4 Changing isIphone value
The component expects a boolean but isIphone property return an array ["Iphone"] if the user is from an iPhone
2020-10-23 12:37:43 -03:00
Zh4rsiest
1b7a672a1b Updating variables in container
They both return an array with ["Iphone"] if you're from an iphone but the component expects bool variables.
2020-10-23 12:37:18 -03:00
KDSBrowne
e116396481 add error boundry to presentation upload modal 2020-10-22 13:00:09 +00:00
Lucas Zawacki
7efcd3b87e Dont include extra dot in instructure media url 2020-10-21 14:00:51 -03:00
Anton Georgiev
70eb028da9
Merge pull request #10667 from jfsiebel/improve-streamer-and-error-logs
Improve annotations and cursor streamer logs
2020-10-16 14:42:05 -04:00
Joao Siebel
109c18beb0 Improve annotations and cursor streamer logs, also add a type info for some logs in authentication process
and rollback some attempts to fix multiple leaving end call.
2020-10-16 10:30:50 -03:00
Mario Jr
df67d2e680 Better handling audio reconnection
When getting disconnected with 1001 ("websocket closed unexpectedly" error) we were creating a new SIP session, therefore a new FreeSWITCH channel.
While reconnecting the socket, instead of closing the SIP session, we keep it alive during reconnection (audio should keep working in the meantime). When reconnected we keep using this same session (avoiding the creation of an extra one).
We also better handle WebSocket error codes from SIP.js.
FF immediately closes websocket when unloading page, so we now to stop user agent when 'beforeunload' event is triggered, to avoid leaving open sessions in FreeSWITCH when user leaves page.
2020-10-15 11:24:23 -03:00
Mario Jr
a7ab00e3e9 Fix wrong skipCheck handling
We now let sip.js handle getUserMedia calls, same should happen when skipCheck is active.
Solves #10652.
2020-10-14 23:30:08 -03:00
Fred Dixon
0ae5d29b25
Merge pull request #10625 from lfzawacki/v2.2.x-release
Make instructuremedia regexp more general
2020-10-09 17:15:01 -04:00
Anton Georgiev
1ee7946d38
Merge pull request #10615 from antobinary/09-30-libs
Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl
2020-10-09 17:14:36 -04:00
Anton Georgiev
e200cba6c8 utilize a simpler way to drop the protocol for comparison 2020-10-09 17:10:12 -04:00
Lucas Zawacki
19d24cbb60 Make instructuremedia regexp more general 2020-10-09 18:09:35 -03:00
Anton Georgiev
1ffad034f7 Revert "compare the true URLs, ignore protocols"
This reverts commit 3bb6b70d90.
2020-10-09 16:54:34 -04:00
Anton Georgiev
3bb6b70d90 compare the true URLs, ignore protocols 2020-10-09 14:30:41 -04:00
Anton Georgiev
adcb05b1ec
Merge pull request #10612 from jfsiebel/improve-logs
Improve  log in/authentication logs
2020-10-09 13:43:09 -04:00