Commit Graph

209 Commits

Author SHA1 Message Date
prlanzarin
0453e9e842 fix(webcams): reduce number of gUM calls
Shave off the number of calls in video-preview and video-provider by
using a stream storage

We don´t call an upfront gUM in video-preview anymore to lift the
fingerprinting barrier on device labels and IDs. Flow has been reversed:
upfront enumerate, load first preview, then check if previous
enumeration was obfuscated.

Add a stream storage in video-preview`s service to avoid re-fetching
them in video-providerj

Remove some unneeded video-preview container props

Improve some of video-preview`s error locales
2021-07-02 16:13:31 +00:00
Ramon Souza
e1f1b2e49f screenshare layout values 2021-06-15 10:47:37 -03:00
Ramon Souza
d2e2a34dfe screenshare size 2021-06-15 08:51:44 -03:00
Arthur B. Grossi
cdd688000c style(layout): buttons outline
Adds margin to presentation and screenshare buttons
in order to prevent outline cut.
2021-06-14 14:53:21 -03:00
Max Franke
f2c95c61e3 feat(screenshare): reduce mirror effect
Add the shrink/expand button in the screenshare layout to reduce the mirror/tunnel
effect, when the presenter is sharing the same screen as the application is.
2021-06-07 09:11:32 -03:00
Ramon Souza
75b9261f6f remove unused imports/variables 2021-04-22 13:17:20 -03:00
prlanzarin
1e199097b4 screenshare: check if the user is still presenter after gDM resolves
If the presenter gets changed while the user kept the getDisplayMedia browser picker open, accepting the getDisplayMedia prompt might get the previous presenter´s client-side state inconsistent as if they were sharing. The screen sharing is a no-op though

This adds a check after gDM resolves to see whether the user is still the presenter; if they aren`t, just clean up the gDM stream and make it a full no op
2021-03-24 18:41:14 +00:00
Anton Georgiev
e673fb2cf4
Merge pull request #11630 from prlanzarin/u23-sculptor
listenonly,video-provider,screenshare: remove ICE gathering pre-flight check
2021-03-12 12:58:43 -05:00
prlanzarin
ab17b10c38 listenonly,video-provider,screenshare: remove ICE gathering pre-flight check 2021-03-12 02:51:45 +00:00
prlanzarin
ef4ad8820d screenshare: adapt shutdown on breakout room joins, only stop sharers
Adapted the breakout room screen sharing shutdown to use the new refactor calls

Also changed the behaviour a bit to only trigger the stop code for presenters/sharers, mimicking the camera behaviour and not leaving viewer with stuck screens
2021-03-12 01:31:46 +00:00
prlanzarin
775cbf4124 screenshare: move end alert sound to a reliable place 2021-03-12 00:44:38 +00:00
prlanzarin
7eb91f9273 Merge branch 'u22-screenshare18102020' of https://github.com/prlanzarin/bigbluebutton-1 into u23-ilgiardino 2021-03-11 18:49:14 +00:00
Ramon Souza
08067e905f polling component also checks if screenshare is fullscreen 2021-02-23 14:04:00 -03:00
hiroshisuga
91f6bc752a
show polling button in fullscreen mode 2021-02-15 17:54:02 +09:00
prlanzarin
03cd3af26c screenshare: change the reconnection UI style trigger to avoid false positives
Mainly: track unhealthy fatal states instead of supposedly healthy states

Avoids unwarranted UI reconnecting states or flickering on low end devices or struggling networks

Also added a version of isVideoBroadcasting for presenters which only accounts for the server state, so that we can deal with the presnter`s sharing state with more fidelity in the UI
2021-02-05 19:54:12 -03:00
prlanzarin
1383ab4def screenshare/html5: rewrite most of the client side code
Added new SFU broker for screen sharing

Removed kurento-extension entirely

Added inbound and outbound reconnection procedures

Improve UI responsiveness when sharing

Add reconnection UI states

Redo error handling

Refactor actions-bar screen share components. Make it smarter with less prop drilling and less re-rendering. Also more readable. Still work to do in that I think

Add a connection retry procedure for screen presenters when they are sharing; try a configurable amount of times when failure is triggered, with configurable min and max reconn timeouts and timeout increase factor

Make local preview attachment smarter

ADD PARTIAL SUPPORT FOR AUDIO SHARING VIA SCREEN SHARING WITH GET DISPLAY MEDIA, RECORDING STILL NOT SUPPORTED!!!
2020-12-09 22:00:54 +00:00
prlanzarin
69e5891624 [screenshare]: improve screenshare service findOne calls 2020-12-08 20:30:40 +00:00
prlanzarin
f24460192c screeshare+audio: reorganize some audio checks, pass the flag to SFU 2020-12-08 20:30:30 +00:00
germanocaumo
83fe68db08 Play screenshare audio when present 2020-12-08 20:30:22 +00:00
Anton Georgiev
f34826718d include instanceId in resources url 2020-11-30 16:09:35 +00:00
Mohamed Amine Ben Salah
bf45dbc7f9 adds visual regressions test with snapshots ready to use 2020-10-27 12:54:55 -03:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
Mario Jr
e9e436378a Correctly set audio input/output devices
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
2020-10-06 20:37:55 -03:00
Anton Georgiev
377dc27a8d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 09-16-merge 2020-09-17 14:37:28 +00:00
Anton Georgiev
33a71e5f67
Merge pull request #10218 from Tainan404/unsafe-media-and-presentation-components
Remove unsafe lifecycle from all media and presentation components
2020-09-10 15:23:48 -04:00
prlanzarin
aae7a19d50 screenshare: Remove unused amIPresenter from kurentoViewScreen call 2020-09-10 14:12:44 +00:00
prlanzarin
18c2d33ff1 video-provider/screenshare: streamline isUserPresenter usage 2020-09-10 14:11:18 +00:00
prlanzarin
7b7c10db64 screenshare: make presenter preview local
Also some much needed code movearound in Kurento`s bridge
2020-09-10 13:48:05 +00:00
Anton Georgiev
d8b185f2b3 Merge branch 'issue-9219' of github.com:Tainan404/bigbluebutton into locales-total 2020-09-09 19:29:18 +00:00
KDSBrowne
77b71a4d1f fix duplicate css variables being loaded (improve imports) 2020-09-01 18:46:13 +00:00
prlanzarin
e5c1eddf88 [screenshare]: improve screenshare service findOne calls 2020-08-26 21:41:11 +00:00
Tainan Felipe
5bfeab289c Merge remote-tracking branch 'upstream/develop' into issue-9219 2020-08-19 10:41:03 -03:00
Anton Georgiev
5be5aed1d9 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2020-08-12 2020-08-12 17:12:58 +00:00
Tainan Felipe
cf1d0cedef Remove unsafe lifecycle from all madia and presentation related components 2020-08-07 17:32:46 -03:00
prlanzarin
dc194eafdf screenshare: move loading spinner css to media and restore it 2020-08-05 17:02:08 +00:00
Tainan Felipe
e64c0e1c62
Merge branch 'develop' into issue-9219 2020-07-28 13:28:32 -03:00
Vitor Mateus De Almeida
4d61aefa78 Fix exception when screenshare is running 2020-07-20 16:23:02 -03:00
KDSBrowne
f45af628d6 fix screen share cropping on chrome 2020-07-19 21:53:59 +00:00
Anton Georgiev
21b6def708
Revert "Replace unsafe react lifecycle methods" 2020-07-15 15:52:34 -04:00
Anton Georgiev
7535e6fa59
Revert "Create layout context and add a layout manager" 2020-07-15 12:44:59 -04:00
Anton Georgiev
b9b4490d8c
Merge branch 'develop' into layout 2020-07-14 10:32:24 -04:00
Anton Georgiev
e48306431a
Merge pull request #9498 from Tainan404/issue-8744
Replace unsafe react lifecycle methods
2020-07-14 10:30:37 -04:00
Vitor Mateus De Almeida
880963e0e7 Merge remote-tracking branch 'upstream/develop' into layout 2020-07-06 13:36:38 -03:00
Vitor Mateus De Almeida
ad6ee4fdb0 Fix exception when screenshare is running 2020-06-20 23:24:36 -03:00
Joao Siebel
3e95ed0e4b Merge remote-tracking branch 'upstream/v2.2.x-release' into merge-2.2 2020-06-16 16:40:56 -03:00
KDSBrowne
ace61eaf3d restore presentation when screen share ends 2020-06-11 13:16:22 +00:00
Tainan Felipe
e1573bded9 Merge remote-tracking branch 'upstream/develop' into issue-8744 2020-05-26 11:44:20 -03:00
Tainan Felipe
aa668e3f91 Merge remote-tracking branch 'upstream/develop' into issue-9219 2020-05-25 17:05:58 -03:00
Tainan Felipe
db8e7fcd39 Update react-intl and add fallback to unsupported languages 2020-05-25 17:00:13 -03:00
Anton Georgiev
c9e996de21 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop 2020-05-25 17:32:24 +00:00
prlanzarin
e875408f8d screenshare: add support on Safari 12.1+ and make constraints configurable
This adds support for screensharing on Safari 12.1+ or whichever has getDisplayMedia enabled

To be conservative and backwards compatible, I`ve maintained the current gUM-based code available as a fallback for those still using older versions of FF or Chrome

Made screenshare constraints configurable. The constraints config will be piped directly to gDM, so it`s just a regular gDM constraint dictionary
2020-05-14 16:54:54 +00:00
Tainan Felipe
5af2c8a457 Replace legacy react lifecycle on screenshare 2020-05-11 11:30:28 -03:00
Anton Georgiev
4e1d55efd2 Prevent parallel screenshare and external-video 2019-12-18 16:40:04 -05:00
prlanzarin
b52214f0b5 Make some imports use absolute paths
Some more linting as well
2019-11-14 19:07:35 +00:00
prlanzarin
215f79f383 Account for mDNS candidates on gUM fallback for recvonly peers
Also added some client logging for those cases

Moved video-provider gUM fallback detection to be used only on recvonly streams
2019-11-14 16:35:56 +00:00
Chad Pilkey
f471b1e2b9
Merge pull request #8072 from prlanzarin/2.2-abort-play
Fixes to client-side screenshare/listen only code and log improvements
2019-09-06 18:37:22 -04:00
prlanzarin
c8a88148e1 Improve log message for screenshare/listen only/autoplay and harden media play with retries 2019-09-06 18:58:22 +00:00
Anton Georgiev
ea18b09311 add a few more collection lookups "fields" delimiters 2019-08-29 12:26:07 -04:00
Anton Georgiev
88c397a2ed
Merge pull request #8009 from vitormateusalmeida/issue-7869
Fix Screenshare alignment and remove improper drag cursor #7869 #7785
2019-08-28 15:54:48 -04:00
Vitor Mateus
ffea873845 Fix Screenshare alignment and remove improper drag cursor #7869 #7785 2019-08-27 16:38:00 -03:00
Chad Pilkey
1a8740e22d remove pointless userMap in screenshare view 2019-08-21 13:39:06 -07:00
prlanzarin
8d65ce565d Add UI prompts when autoplay is blocked for video/screenshare/listen only 2019-08-02 21:32:42 +00:00
Vitor Mateus
ea7f4cff58 Remove events when unmount 2019-07-30 12:03:29 -03:00
Vitor Mateus
1d44ee5794 Fix fullscreen multiwebcams 2019-07-26 16:24:53 -03:00
Vitor Mateus
e8f15b97b6 Fix fullscreen edge cases 2019-07-26 13:48:51 -03:00
Vitor Mateus
120764ee33 Adjustments to fullscreen toggle #7022 #7067 2019-07-23 16:56:39 -03:00
Vitor Mateus
429bce991e Path to fullscreen-button changed 2019-07-22 13:59:34 -03:00
Joao Siebel
c6c8ca400b Merge remote-tracking branch 'upstream/master' into reconnection-improvement 2019-06-12 15:56:14 -03:00
Joao Siebel
7f7845c47b disable some UI actions when meteor is down 2019-06-12 15:40:58 -03:00
Diego Benetti
b9eb5cca1f Locks screenshare option when datasaving screenshare setting is disabled 2019-05-28 17:46:29 -03:00
Anton Georgiev
2d991cb078
Merge pull request #7286 from KDSBrowne/2.2-issue-7279
Fix refPresentationContainer requestFullscreen is not a function
2019-05-22 14:52:18 -04:00
KDSBrowne
5105a3bc09 make all fullscreen buttons use the same toggle function 2019-04-24 14:20:53 +00:00
KDSBrowne
ea711def9e move screenshare alert to service / fit audio alert on meeting end 2019-04-15 21:39:07 +00:00
KDSBrowne
009f55e7a5 move audio alert to a function 2019-04-15 15:07:01 +00:00
KDSBrowne
a90c39af3f add screen share off sound notification 2019-04-14 23:27:18 +00:00
Anton Georgiev
81023a0ca3 add unique key to avoid client console errors on Screenshare 2019-04-12 20:59:48 +00:00
Anton Georgiev
8380875e70 remove Verto code 2019-03-08 19:41:19 +00:00
KDSBrowne
2df9f0829d fix existing lint errors 2019-02-07 17:47:28 +00:00
KDSBrowne
e172220287 make fullscreen btn label include element name 2019-02-06 21:12:59 +00:00
Lucas Zawacki
bf99fff416 Fix a few more linter errors and remove old translation 2019-01-16 14:01:22 -03:00
Lucas Zawacki
69c89cb555 Fix some linter errors and add translation 2019-01-16 13:50:24 -03:00
Lucas Zawacki
bb4a83900c Fullscreen button for videos, presentation and screenshare 2019-01-07 15:15:37 -03:00
Oswaldo Acauan
f71d32a464 Move from SCSS variables to CSS custom properties (variables) and add custom parameters for theming/skinning
WIP

wip

wip

format

wip

Move from SCSS variables to CSS custom properties (variables) and add custom parameters for theming/skinning
2018-10-23 14:21:58 -02:00
Maxim Khlobystov
82a69fb902 Merge branch 'v2.0.x-release' of https://github.com/bigbluebutton/bigbluebutton into ice-connection-state-errors-2 2018-08-28 12:49:06 -04:00
Maxim Khlobystov
d67aba6c8a Listening to ice connection failures when screensharing. 2018-08-22 14:10:08 -04:00
prlanzarin
ad353a6e84 Fixed isVideoBroadcasting check to return a bool 2018-08-20 19:44:38 +00:00
Lucas Fialho Zawacki
ffcf35b7da react key for screenshare video area 2018-07-19 17:44:51 -03:00
prlanzarin
d2bdb67ed3 Propagating configs to WebRTC screenshare script and added support for STUN/TURN config to SFU components 2018-07-09 21:29:59 +00:00
Tainan Felipe
54a0f16c18 Rename function to onVideoLoad 2018-05-15 11:56:53 -03:00
Tainan Felipe
346e6b4ce0 Rename state and not render the connecting icon when loaded 2018-05-15 11:24:13 -03:00
Tainan Felipe
f4150c6f31 hide connecting icon when video is loaded 2018-05-15 10:13:15 -03:00
Tainan Felipe Pauli de Almeida
1e378044f2 increase the arrows 2018-05-08 09:10:09 -03:00
Tainan Felipe Pauli de Almeida
75bcd2a361 add spinning arrows while load the screenshare 2018-04-30 08:55:54 -03:00
prlanzarin
553ea58fcc SFU responding to media server offline event and closing active media sessions 2018-04-10 14:49:24 +00:00
Tainan Felipe
2526d17c7e stop screenshare when change the presenter 2018-03-14 15:28:28 -03:00
Augusto Bennemann
65bf18e6ca Fix typo 2018-02-08 16:49:02 +00:00
Augusto Bennemann
95c172a8f0 Videodock adjusts for screenshare 2018-02-08 16:32:12 +00:00
Oleksandr Zhurbenko
962e659378 Switched the components from deprecated method to 2018-01-07 20:44:42 -08:00
prlanzarin
f43b77c19f Merge branch 'node-bbb-apps-packaging' into bbb-webrtc-sfu
Conflicts:
	bigbluebutton-html5/imports/startup/client/base.jsx
	bigbluebutton-html5/imports/ui/components/actions-bar/actions-dropdown/component.jsx
	bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx
	bigbluebutton-html5/imports/ui/components/app/container.jsx
	bigbluebutton-html5/imports/ui/components/screenshare/service.js
	bigbluebutton-html5/imports/ui/components/video-dock/component.jsx
	bigbluebutton-html5/imports/ui/components/video-dock/container.jsx
	bigbluebutton-html5/private/locales/en.json bigbluebutton-html5/server/main.js
2017-11-11 03:41:37 +00:00
prlanzarin
e96fc385f1 Handling HTML5 screensharing stop
The action bar stop button is temporary
2017-11-06 15:39:55 +00:00
Augusto Bennemann
a5e6c63f74 Add support to Safari 11 on Kurento utils; WS message queue; Remove bower components 2017-10-12 20:00:08 +00:00
Oleksandr Zhurbenko
015ca3d719 Changed imports and removed 'initializeCursor.js' since it's not needed 2017-10-11 19:00:28 -07:00
Augusto Bennemann
31f2e1cac7 HTML5 ScreenShare Presenter 2017-09-12 17:47:06 -03:00
Augusto Bennemann
1aa5cc5235 HTML5 ScreenShare Viewer
HTML5 ScreenShare Viewer
2017-09-11 13:40:56 -03:00
Oleksandr Zhurbenko
251bd22738 PR review fixes 2017-09-06 12:36:52 -07:00
Anton Georgiev
13b406313e drop handling of fsesl->akka-apps events 2017-07-27 11:27:06 -04:00
Anton Georgiev
dbcf6dbd2c screenshare displays except at refresh 2017-07-26 09:18:15 -04:00
Anton Georgiev
4e34a7f551 screenshare displays except at refresh 2017-07-25 16:56:40 -04:00
Anton Georgiev
b7d6427e63 rename deskshare to screenshare and adjust condition for viewing 2017-07-24 15:29:34 -04:00