Commit Graph

665 Commits

Author SHA1 Message Date
Anton Georgiev
1e038e7855
Merge pull request #14732 from frankemax/hide-webcam-info-small
feat(video): hide webcam container info depending on container size
2022-04-27 11:16:56 -04:00
Max Franke
9392669cd8 feat(video-list-item): prevent undefined observer
Add extras checks to observer related values
Move the video container width bound to a const
2022-04-27 11:48:14 -03:00
Anton Georgiev
9a8264ec6c
Merge pull request #14736 from prlanzarin/u25-wave-idea3
feat(audio): local echo test and audio energy meter
2022-04-14 17:07:28 -04:00
Max Franke
c01c778a2e feat(video): hide webcam stuff when squeezed
Hide the default buttons when video container is too small.
Groups the functionality of other buttons into just one button.
2022-04-11 18:48:17 -03:00
prlanzarin
d6c7f23a0e feat(audio): local echo test and audio energy meter
New features:
  - A simplified echo test mode that only does a local loopback (instead of
  going to FS and back)
  - A volume meter for microphone streams to the AudioSettings view

Those two features are experimental and disabled by default; see
public.app.media.simplifiedEchoTest and public.app.media.showVolumeMeter configs

Collateral changes:
  - fix: localize fallback device strings in AudioSettings/DeviceSelector
  - Refactor on some media stream utils to be re-usable across components
  - Refactor in AudioSettings to keep gUM #uses stable.
    * TODO: need to pass streams through AudioManager to avoid the surplus gUM.
  - fix(audio): drop ScriptProcessorNode usage (deprecated)
    * Used in volume meter for tracking - use hark instead
2022-04-11 19:21:56 +00:00
Anton Georgiev
0275b8710b
Merge pull request #14787 from Arthurk12/camera-cancellable-button-2.5
refactor(webcam): cancellable button
2022-04-11 10:17:50 -04:00
Ramon Souza
1c873bd8d6 Merge remote-tracking branch 'upstream/v2.4.x-release' into merge-2425-apr08 2022-04-08 17:30:21 -03:00
Arthurk12
f2d5e7af2c refactor(webcam): cancellable button
Makes it possible to cancel webcam sharing while connecting.
Simplifies button state logic.
2022-04-08 18:54:47 +00:00
Anton B
6eead03fb3 set dynamic steps by current settings 2022-03-29 10:53:07 -03:00
Anton Georgiev
29f5947e21
Merge pull request #14590 from frankemax/refactor-video-list-item
refactor(video-list-item): hookify and reorganize component
2022-03-28 11:53:25 -04:00
Max Franke
e45deb5e7e refactor(video-list-item): hookify and reorganize component 2022-03-24 13:29:13 -03:00
prlanzarin
4ae5c70248 feat(video): add flag to disable quality change exemptions (floor, pin) 2022-03-14 11:58:53 -03:00
prlanzarin
ccbb6c6651 fix(video): add debounce and option to exclude constraints from dynamic camera profiles
Tries to mitigate too-rapidly-switching camera profiles causing video freezes
due to encoder resets. Excluding constraints might not help a lot since
the thing that actually restarts the encoder is the bitrate change, but
they're not really important in the context of dynamic profiles.
We can't get rid of bitrate changes, though, since it's what does the actual
quality constraining.

The camera profile change debounce timer is 2.5s by default (which is
the same timer used for floor changes).

Also fixed an issue with camera profile backfiring due to badly defined peers
2022-03-14 11:56:48 -03:00
Pedro Beschorner Marin
5cd2b0b635 Merge remote-tracking branch 'bigbluebutton/v2.5.x-release' into f-v-amccc 2022-03-10 12:25:17 -03:00
Ramón Souza
ae5e116e16 Merge remote-tracking branch 'upstream/v2.4.x-release' into merge-24-25-mar09 2022-03-09 20:40:07 +00:00
Pedro Beschorner Marin
6ff1d680d9 feat(video): add meeting camera cap control
Include `meetingCameraCap` API param on create and enforce both server and
client to control the number of simultaneous webcams a meeting can have.

Disabled by default.
2022-03-07 09:36:55 -03:00
Pedro Beschorner Marin
ea35f4f598 fix(video): respect disabled cap
User's camera cap should be disabled when set to zero but the UI control
wasn't respecting this configuration.
2022-03-04 15:20:27 -03:00
Anton Georgiev
5f884f6674 Merge remote-tracking branch 'bbb/v2.4.x-release' into merge-24-into-25 2022-03-03 18:35:05 +00:00
Pedro Beschorner Marin
e8ff5ebdc8 feat(video): add user camera cap control
Include `userCameraCap` API param on create and enforce both server and
client to control the number of simultaneous webcams an user can share.

Default set to 3.
2022-02-22 13:13:48 -03:00
Joao Victor
6b923a1279 Fix button chevron and webcam selector 2022-02-21 17:40:00 -03:00
Ramón Souza
1d1375b3cf move modal component to common folder 2022-02-15 15:54:55 +00:00
Ramón Souza
fa7af8fe27 move menu component to common folder 2022-02-15 15:38:55 +00:00
Ramón Souza
96900ee6a3 move icon component to common folder 2022-02-15 14:51:51 +00:00
Ramón Souza
0377854b98 move fullscreen-button component to common folder 2022-02-15 14:42:02 +00:00
Ramón Souza
246e3b3e8f move button component to common folder 2022-02-14 20:20:50 +00:00
Ramón Souza
dba04834c7 Merge remote-tracking branch 'upstream/v2.4.x-release' into 2524-feb08 2022-02-09 15:52:42 +00:00
Anton Georgiev
417744515a
Merge pull request #14273 from ramonlsouza/restore-button-css
fix: restore hover/focus button styles
2022-02-03 15:24:50 -05:00
Ramón Souza
cdb6e2e652 restore hover/focus button styles 2022-02-03 19:45:51 +00:00
Anton
7d5325d0dd improves some selectors and function calls 2022-02-02 21:05:26 -03:00
Anton
b85b3b7ca0 add lock viewers tests 2022-01-28 16:52:22 -03:00
Ramón Souza
16cd3c4ebb Merge remote-tracking branch 'upstream/v2.4.x-release' into dev-24-0125 2022-01-25 16:56:52 +00:00
Anton Georgiev
116b99e469
Merge pull request #14159 from antonbsa/tests-reorganization-and-fix-selectors
test: Improves organization, fixes selectors and adds/improves tests
2022-01-25 08:54:32 -05:00
Paulo Lanzarin
37de82af7f
Merge pull request #14102 from prlanzarin/u24-echo-tomsk
fix(webcams): add extra error handling to pub/sub peer callbacks
2022-01-21 14:13:02 -03:00
Anton
7f075be033 fix all test selectors 2022-01-20 10:03:18 -03:00
Joao Victor
3b9d0320b7 Add missing parameter 2022-01-19 11:29:22 -03:00
Joao Victor
a1e1077580 Fix initial video direction (mirrored or not) on video dock 2022-01-19 09:58:10 -03:00
prlanzarin
17b8499ce4 fix(webcams): add extra error handling to pub/sub peer callbacks
video-provider is a race-condition prone mess and those callbacks were missing try-catches so eventual failures would bubble up as uncaught errors and not be logged properly

It`s worth mentioning that due to a number of tangential design failures in that component, 90% of the errors generate are, to the end user, invisible false positives. Thus: expect an increase in false-positive errors logs with this
2022-01-14 15:48:03 -03:00
Arthurk12
5dce39f8bf fix(webcam): unresponsive camera button on mobile
Makes clicking the camera button always open the video preview modal
when a camera is already shared on a mobile endpoint even when
skip_video_preview is true.
This allows mobile users to change virtual backgrounds.
2022-01-13 17:54:57 +00:00
Arthurk12
9c571dcc82 fix(webcam): unresponsive webcam selector button
Video preview modal opens when user clicks on the webcam selector
button/chevron even if the client is set to skip video preview
(userdata-bbb_skip_video_preview=true).
2022-01-12 19:25:35 +00:00
Ramón Souza
f6e65f58c5 merge 2.4 into develop and resolve conflicts - partial 2022-01-12 16:40:45 +00:00
Anton Georgiev
0ea6b4151e
Merge pull request #13880 from frankemax/username-long-video-item
fix(video): webcam video username dropdown
2022-01-07 15:55:51 -05:00
prlanzarin
3720ca722b fix(webcams): fix client crash on camera user ejection
Added extra proptypes validation to video-list-item

Made sure to add extra ?. checks to voiceUsers as well because... who knows?

Removed unused user role prop from video-list-item
2021-12-23 11:52:25 -03:00
Max Franke
7e2a3c3bca feat(webcams): client side implementation of webcam pin 2021-12-21 16:58:39 -03:00
prlanzarin
0ac4148f80 fix(webcams): keep base peer object in component, fix viewers randomly failing
The base peer object reference was moved from the component to service for _reasons_

That caused an issue where the component lifecycle would mess up that
centralized reference dictionary on certain conditions. That could cause viewing
sessions to fail intermittently

This reverts the location of the base dictionary reference back to
video-provider/component
2021-12-16 12:13:20 -03:00
Anton Georgiev
c6852987bc
Merge pull request #13869 from prlanzarin/u24-ill-harmonics
feat(webcams): exclude voice floor holder from camera quality limiter
2021-12-15 13:36:48 -05:00
Ramón Souza
d1c516fef6 resolve html5 conflicts 2021-12-10 21:07:35 +00:00
prlanzarin
ca7fdee11e fix(webcams): bad reference to enableWebcamSelectorButton 2021-12-09 21:50:38 +00:00
Anton Georgiev
797fc49633 TEMP 2021-12-09 20:37:05 +00:00
Max Franke
166dac09a3 fix(video): webcam video username dropdown
Fix a problem that username in video container isn't wrapped if it's too long.
Fix a problem that can cause the audio indicator to disappear.
Fix some problems with the overflow property.
Refactor in css for the talking indicator be more centralized
2021-12-09 14:25:16 -03:00
prlanzarin
67ec798758 feat(webcams): preserve floor holder's original camera profile 2021-12-08 22:53:16 +00:00