Commit Graph

44 Commits

Author SHA1 Message Date
Mario Jr
00e01c1872 add screenshare's peer information to video stats in connection status modal
Added support for getStats in screenshare's service. This works similar
to the getStats for video provider, and the information retrieved from
screenshare is added to the video information for cameras.
2021-08-23 12:36:01 -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
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
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
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
prlanzarin
e5c1eddf88 [screenshare]: improve screenshare service findOne calls 2020-08-26 21:41:11 +00: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
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
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
KDSBrowne
ea711def9e move screenshare alert to service / fit audio alert on meeting end 2019-04-15 21:39:07 +00:00
Anton Georgiev
8380875e70 remove Verto code 2019-03-08 19:41:19 +00: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
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
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
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