Commit Graph

225 Commits

Author SHA1 Message Date
prlanzarin
191654814a video-provider: remove socket open state condition for rendering video-list
That check doesnt make sense anymore. Removing it makes the video list load faster and webcam sharing seem more responsive
2020-08-27 02:19:55 +00:00
Anton Georgiev
b8959be312
Merge pull request #10304 from pedrobmarin/individual-video-record-control
Add individual video record control
2020-08-24 16:58:16 -04:00
prlanzarin
e7323ee6a5 video-provider: fix dynamic profile accounting when using pagination 2020-08-24 18:30:24 +00:00
Pedro Beschorner Marin
95bc7cd59e Add individual video record control
This adds bbb_record_video userdata that, when is set to false, signals
bbb-webrtc-sfu to avoid generating the stream recording assets for a
particular user.

By default, bbb_record_video is true.
2020-08-21 19:10:25 -03:00
prlanzarin
a98c476239 video-provider: remove page change lock in favor of a debounced approach 2020-08-20 15:43:02 +00:00
prlanzarin
28e826118a video-provider: first version of video pagination 2020-08-18 17:00:47 +00: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
prlanzarin
642de5076a video-provider: first, simplified version of dynamic camera profile control 2020-08-05 16:55:41 +00:00
prlanzarin
dac3259c48 Merge remote-tracking branch 'pedrobmarin/bbb-multiple-webcams' into upstream-2.2-vpeg-base 2020-08-05 14:20:58 +00:00
Vitor Mateus
e2db60e662 WIP Resizable works fine 2020-07-20 16:11:09 -03:00
Anton Georgiev
7535e6fa59
Revert "Create layout context and add a layout manager" 2020-07-15 12:44:59 -04:00
prlanzarin
0f8b27d2d8 video-provider: make camera timeouts configurable
Also add missing settings.yml val for wsConnectionTimeout
2020-07-09 17:53:24 +00:00
prlanzarin
72a67bdd63 video-provider: make reconn websocket connectionTimeout configurable
Keep the default value (current) in settings.yml
2020-07-09 17:50:04 +00:00
Vitor Mateus De Almeida
880963e0e7 Merge remote-tracking branch 'upstream/develop' into layout 2020-07-06 13:36:38 -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
2cba85e866 html5: refactor STUN/TURN fetch, add fallback STUN, fix deadlock in audio join
Refactored STUN/TURN fetch to be done only once, when successful, per session and cache it in mem to avoid too many reqs. Current way is a bit dumb, this should increase reliability a bit more. The caching is configurable so folks who want to use very short lived TURN credentials can disable it

Add a fallback STUN config option to be used when the default STUN/TURN fetch fails

Clean the safari/no candidate generation pre flight check from 3rd party STUNs

Fix deadlock in audio join when STUN/TURN fetch failed
2020-05-21 04:35:17 +00:00
Vitor Mateus
00259ab371 WIP Resizable works fine 2020-04-23 11:07:44 -03:00
prlanzarin
bf69926576 Fix race condition in video-provider that may cause peers to fail
The peer object was being fetched only once in the ICE candidate callback, and it would fetch a placeholder empty object (sometimes) which would be kept in the callback closure till the end of the peer lifecycle. With that, the didSDPAnswered state variable which released the outbound ICE queue wouldnt be correctly read and the queue would never be flushed
2020-01-31 19:49:12 +00:00
prlanzarin
10b4a60a57 Fix race condition in video-provider that may cause peers to fail
The peer object was being fetched only once in the ICE candidate callback, and it would fetch a placeholder empty object (sometimes) which would be kept in the callback closure till the end of the peer lifecycle. With that, the didSDPAnswered state variable which released the outbound ICE queue wouldnt be correctly read and the queue would never be flushed
2020-01-31 19:32:57 +00:00
Pedro Beschorner Marin
801ed30a8e Missing after rebase 2019-12-10 13:02:18 +00:00
Pedro Beschorner Marin
5c71e2d0bb Included new getStats monitor for audio and video 2019-12-10 09:07:06 -03:00
Pedro Beschorner Marin
a434f61052 Reverting file mode changes 2019-12-10 09:05:04 -03:00
Pedro Beschorner Marin
f5d7be7f00 Making the interface functional for the multiple webcams. This must change after thinking on a design 2019-12-10 09:05:03 -03:00
Pedro Beschorner Marin
315fa755f0 Removed unused video visibility monitor 2019-12-10 09:02:17 -03:00
Pedro Beschorner Marin
3b591a086b Unified video providers 2019-12-10 09:02:16 -03:00
Pedro Beschorner Marin
debd8f714a Removed unused session vars logic 2019-12-10 08:21:21 -03:00
prlanzarin
19bf430760 Add userId and userName to the SFU start calls where they were missing 2019-11-28 18:46:23 +00:00
prlanzarin
52d69156ca Fix viewer camera reconnection timers
Also try to reconnect when ICE fails, a server-side error comes through or the WebRTC stack throws a tantrum, not only when the first connection fails.
2019-11-28 18:03:14 +00:00
prlanzarin
d3fa2f6508 Add an outbound ice queue to video-provider peers
Only send candidates after the SDP exchange was locked due stop-start glare
2019-11-28 18:01:32 +00: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
3dd4761889
Merge pull request #8157 from capilkey/viewer-webcam-lock-unshare
Viewer webcam lock unshare
2019-09-27 18:20:26 -04:00
Tainan Felipe
b0f2e16f86 Add propTypes and redo variable types 2019-09-27 15:01:11 -03:00
Chad Pilkey
6c0358ae90 bitrate only webcam profiles and error handling 2019-09-26 18:28:37 +00:00
Tainan Felipe
966debb341 Fix viewer webcam not unsharing when lock setting is enable 2019-09-16 11:15:18 -03:00
Vitor Mateus
ffea873845 Fix Screenshare alignment and remove improper drag cursor #7869 #7785 2019-08-27 16:38:00 -03:00
Chad Pilkey
6e76dd584b improve user fetch and sort, and webcam fetch 2019-08-09 15:39:55 -07:00
Vitor Mateus
e8f15b97b6 Fix fullscreen edge cases 2019-07-26 13:48:51 -03:00
Vitor Mateus
5b21c500dd Merge remote-tracking branch 'upstream/master' into issue-7022-2 2019-07-23 19:37:15 -03:00
Vitor Mateus
db1825a15c Code cleanups 2019-07-23 19:24:31 -03:00
Vitor Mateus
120764ee33 Adjustments to fullscreen toggle #7022 #7067 2019-07-23 16:56:39 -03:00
Anton Georgiev
e84d25a435 use correct property in log for video-provider 2019-07-23 15:12:54 +00:00
prlanzarin
ca474e95bd Refactor video-provider component logs 2019-07-18 20:44:21 +00:00
Anton Georgiev
901987282a
Merge pull request #7756 from vitormateusalmeida/webcams-draggable-refactor
Webcam draggable refactoring
2019-07-16 09:53:39 -04:00
Vitor Mateus
68ec6411aa Webcam draggable refactoring 2019-07-09 20:11:48 -03:00
Anton Georgiev
b71bd48490 remove redundant audio log 2019-07-02 20:11:48 +00:00
Anton Georgiev
86a178fbf6 video-provider logger with extraInfo 2019-07-02 19:51:35 +00:00
Anton Georgiev
3fcb95ab44 log structure {logCode, extraInfo}, comment 2019-06-28 21:45:50 +00:00
prlanzarin
98b7d10a32 [video-provider] Set peer as started first on handlePlayStart 2019-06-26 19:25:05 +00:00
prlanzarin
feb408fac7 [video-provider] Only set a reconnection timeout if the peer hasnt already started 2019-06-26 19:16:28 +00:00
prlanzarin
26ae1585e5 Add option to specify bitrate/bw on cameraProfiles 2019-06-13 18:24:54 +00:00
Joao Siebel
16f20db001 parameterize the packet lost threshold 2019-06-12 17:27:49 -03:00
Vitor Mateus
0c81eda94e Fix webcam size after minimize the presentation #7570 2019-06-07 17:45:54 -03:00
Vitor Mateus
7af426d0d2 Avoid webcam overflow the screen with multiples webcams 2019-06-03 11:05:09 -03:00
Vitor Mateus
6de7650ec9 Merge remote-tracking branch 'upstream/master' into issue-6724 2019-05-27 19:18:26 -03:00
Vitor Mateus
d1b910a558 Fix errors in grid layout 2019-05-27 19:06:52 -03:00
Joao Siebel
d9b850f085 prevent data when monitoring is disabled 2019-05-24 16:55:35 -03:00
Joao Siebel
8ba90b2121 Merge remote-tracking branch 'upstream/master' into network-indicator 2019-05-23 15:42:38 -03:00
Joao Siebel
a2d2dc332f fix a problem with local stream and update the code 2019-05-23 15:25:31 -03:00
Anton Georgiev
88cfd6bde8
Merge pull request #7277 from Tainan404/issue-7200
Stop webcams when opens audio modal.
2019-05-22 11:36:53 -04:00
Joao Siebel
10c0e7dd24 Merge remote-tracking branch 'upstream/master' into network-indicator 2019-05-06 14:12:04 -03:00
Chad Pilkey
2aeed72c8d refactor video preview media selection 2019-04-30 12:54:56 -07:00
Vitor Mateus
196e48b6c6 Merge remote-tracking branch 'upstream/master' into issue-6724 2019-04-24 10:37:30 -03:00
Vitor Mateus
e73246ee0d Merge remote-tracking branch 'upstream/master' into issue-6724 2019-04-23 17:27:04 -03:00
Vitor Mateus
0ade45e8cd Bugs fixes, code Improvements and cleanups. 2019-04-23 17:23:32 -03:00
Anton Georgiev
0bd7980f0c adjust formatting in video-provider 2019-04-23 19:57:31 +00:00
Anton Georgiev
ff4e407155 added logCode in video_provider 2019-04-23 18:26:28 +00:00
Joao Siebel
c98db398fc Merge remote-tracking branch 'upstream/master' into network-indicator 2019-04-22 09:18:02 -03:00
Joao Siebel
067801acae update logic and rename function 2019-04-22 09:11:16 -03:00
Joao Siebel
08d177dac0 add initial network logic 2019-04-18 18:15:48 -03:00
Tainan Felipe
0a730bcf62 Stop webcams when open audio modal 2019-04-18 15:48:39 -03:00
Anton Georgiev
12eefb7785 pass additional properties in logline 2019-04-17 19:40:08 +00:00
Anton Georgiev
797d8056e3 reduce webcam logging lines, improve info quality 2019-04-17 17:38:49 +00:00
Joao Siebel
dcbce93e7c add webcams data collector 2019-04-12 11:11:36 -03:00
Vitor Mateus
1a35975d8c Bugs fixes 2019-03-04 14:29:40 -03:00
Pedro Beschorner Marin
b5427737d7 Includes a minimal authentication step before SFU connections 2019-02-06 09:37:05 -02:00
Anton Georgiev
120c4712dc remove ping-pong logs for webcams 2019-01-21 20:05:52 +00:00
Anton Georgiev
48425b65d3
Merge pull request #6547 from gustavotrott/safari-audio-video-fix
Fix problems with audio and video in Safari/Webview
2019-01-18 11:37:33 -05:00
gustavotrott
c21bb693b4 Store in session if can generate ice candidates, change timeout to 5secs, display error msgs 2019-01-14 22:45:32 -02:00
Gustavo Trott
a81705339b Avoid call tryGenerateIceCandidates twice 2019-01-14 11:59:47 -02:00
Gustavo Trott
fdf50b3ab7 Validade if Safari can send ICE Candidates before open RTC to receive video 2019-01-10 21:24:25 -02:00
Anton Georgiev
3018093b27
Merge pull request #6458 from MaximKhlobystov/improve-webcam-picker
Improve webcam picker
2019-01-02 15:50:58 -05:00
prlanzarin
e7a500d7ec Revert video SFU connection error detection 2018-12-21 21:25:47 +00:00
prlanzarin
7aa8d7f027 Wait for SDP to be processed before adding candidates to peer on video 2018-12-21 19:47:15 +00:00
Maxim Khlobystov
f157c1a8fd Make sure we remove the event listener for beforeunload (+ some cleanup) 2018-12-20 14:03:09 -05:00
prlanzarin
79ae352e2d Fixed HTML5 viewer cam reconnections 2018-12-18 14:55:04 +00:00
Anton Georgiev
6250d606fd improve style on video-provider 2018-12-17 22:19:26 +00:00
prlanzarin
8e7fe4b50b Removed generic camera errors and improved video-preview gUM error handling 2018-12-17 17:45:57 +00:00
prlanzarin
01795860c8 Workaround on webcam viewer race condition when state changes rapidly 2018-11-28 22:27:44 +00:00
prlanzarin
d652eb7f9b Added voiceBridge prop to video-provider and forward it to SFU 2018-11-20 13:05:16 +00:00
Maxim Khlobystov
ce5c20ba7c Unsharing a webcam when page reloads. 2018-11-16 14:03:20 -05:00
Maxim Khlobystov
91dad9d882 Fixing some linter error 2018-11-07 14:30:36 -05:00
Maxim Khlobystov
9f67ce4106 Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into webcam-choice 2018-11-06 18:17:52 -05:00
Maxim Khlobystov
90f38561c3 Add Webcam Settings to choose a camera 2018-11-06 18:10:56 -05:00
Ghazi Triki
653fd74440 Merge remote-tracking branch 'bigbluebutton/v2.0.x-release' into merge-2.x-release-into-master
# Conflicts:
#	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala
#	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala
#	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/HandlerHelpers.scala
#	akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala
#	akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/testdata/FakeTestData.scala
#	bbb-common-web/src/main/java/org/bigbluebutton/api/MeetingService.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/PresentationUrlDownloadService.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/ImageToSwfSlidesGenerationService.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Office2PdfPageConverter.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/OfficeDocumentValidator.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Pdf2SwfPageConverter.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/PdfToSwfSlidesGenerationService.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/SvgImageCreatorImp.java
#	bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/TextFileCreatorImp.java
#	bbb-common-web/src/main/scala/org/bigbluebutton/api2/bus/ReceivedJsonMsgHdlrActor.scala
#	bbb-common-web/src/main/scala/org/bigbluebutton/api2/meeting/OldMeetingMsgHdlrActor.scala
#	bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as
#	bigbluebutton-client/src/org/bigbluebutton/main/events/BBBEvent.as
#	bigbluebutton-client/src/org/bigbluebutton/main/maps/ApplicationEventMap.mxml
#	bigbluebutton-client/src/org/bigbluebutton/main/model/users/JoinService.as
#	bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
#	bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as
#	bigbluebutton-client/src/org/bigbluebutton/main/views/LoggedOutWindow.mxml
#	bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
#	bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
#	bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml
#	bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
#	bigbluebutton-client/src/org/red5/flash/bwcheck/app/BandwidthDetectionApp.as
#	bigbluebutton-config/bigbluebutton-release
#	bigbluebutton-html5/client/compatibility/kurento-extension.js
#	bigbluebutton-html5/imports/api/users/server/modifiers/addUser.js
#	bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
2018-11-01 14:00:54 +01:00
prlanzarin
7f3d3c0d32 Fixed reconnecting webcam viewers and session overlaps 2018-10-11 18:23:26 +00:00
prlanzarin
2741022cb2 Updated kurento-utils WebRTC calls, added permission request on listen only for safari
Also fixed a resource leak on listen only fallback and transitioned the SFU listen only from a tag-based approach to MediaStream
2018-10-03 18:39:55 +00:00
Anton Georgiev
1462810b96 Merge branch 'v2.0.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.0 2018-09-06 22:06:40 +00:00
prlanzarin
9f9e248de7 Made webcam constraints configurable, removed fps limitations and resolution floor
Also fixed handlePlayStop and stopWebRTCPeer exceptions
2018-08-20 18:08:10 +00:00
Maxim Khlobystov
bfe48dc918 Uncommented the line that has been commented out for debugging purposes. 2018-08-14 10:40:52 -04:00