Commit Graph

3010 Commits (2a5174a7b5d9713f0f249d2792742e67d545a43d)

Author SHA1 Message Date
Juan Navarro 2a5174a7b5 openvidu-browser: Catch errors on WebRTC calls 2022-02-15 16:32:53 +01:00
Juan Navarro 85f0e3ecd5 openvidu-browser: Use lowercase RID for simulcast layers
Firefox converts everything to lowercase and then the RIDs wouldn't
match in the internal mediasoup lookup! So better use all lowercase for
these identifiers.
2022-02-15 16:32:53 +01:00
Juan Navarro b5e645f13d openvidu-browser: Use Track.contentHint to configure WebRTC Sender 2022-02-15 16:32:53 +01:00
Juan Navarro f10649b40c openvidu-browser: Reduce 2 nesting levels in WebRtcPeer.createOffer 2022-02-15 16:32:53 +01:00
csantosm af818b66f6 openvidu-browser: Fixed bug using speaking events
Subscribing to start/stop speaking events, the speechEvent object (which is undefined) is trying to invoke to 'on' method. This prevents the correct behaviour of the stop/start speaking events.
2022-02-11 17:33:45 +01:00
cruizba f88ea86bed deployment: Fix wrong OPENVIDU_PRO_ELASTICSEARCH_MAX_DAYS_DELETE to 7 2022-02-09 13:02:58 +01:00
Carlos Santos 3143557951
Merge pull request #690 from Flamenco/patch-2
Fix typo in docs
2022-02-03 17:18:51 +01:00
Flamenco 8f69c0d1a4
Fix typo in docs 2022-02-03 10:35:37 -05:00
pabloFuente 14b89da6f3 openvidu-server: replace IdentifierPrefixes.MEDIA_ID with MEDIA_NODE_ID 2022-02-03 13:08:29 +01:00
pabloFuente 6fec7f7cd3 openvidu-server: add new IdentifierPrefixes.OPENVIDU_NODE_ID 2022-02-03 13:01:02 +01:00
csantosm 55246abc44 openvidu-browser: Enabled warning logs in production mode 2022-02-02 12:31:27 +01:00
csantosm 93d6796fb3 openvidu-components: Refactored dynamic components loader 2022-02-01 13:41:26 +01:00
csantosm 5f0ffb4b3a openvidu-component: Loaded components dynamically
- For loading components with inputs/outputs directives, has been necessary to use the 'ng-dynamic-component' library because of unsupported on the official Angular issue  https://github.com/angular/angular/issues/15360
- Allowed the dynamic components load
- Grouped panels into panel component
2022-02-01 11:33:16 +01:00
cruizba e56ac82749 Bump openvidu-proxy in openvidu-pro 2022-01-30 20:31:33 +01:00
cruizba a61b6bb587 Bump docker-compose beta/dev versions 2022-01-30 20:22:28 +01:00
Juan Navarro 6e8e05553e fixup! openvidu-browser: Stream.typeOfVideo backwards compatibility fix
Add a TODO marker to remember that we have to change this when a
breaking-change release is done.
2022-01-28 15:17:05 +01:00
Juan Navarro 10f0961757 openvidu-server: Add Simulcast Publisher config
Also add setting to the .env file for PRO deployments (which can be
converted into ENTERPRISE, using mediasoup)
2022-01-28 14:59:24 +01:00
Juan Navarro eddf86f430 openvidu-server: sanitize string for custom ConnectionId 2022-01-28 14:16:04 +01:00
pabloFuente 425fe0983c openvidu-server: allow setting custom ConnectionId for debug purposes
Allows applications to set a custom string for the the connection ID,
which is a great help for debugging purposes, as it will appear in
all server logs and also will be used to set media server object names
(with obj.setName() API)
2022-01-28 14:12:21 +01:00
Juan Navarro 202e782c9d openvidu-server: disable Simulcast Publisher by default 2022-01-28 14:07:06 +01:00
Juan Navarro f05dc3db33 openvidu-server: rename Simulcast Publisher config
OPENVIDU_STREAMS_VIDEO_SIMULCAST --> OPENVIDU_WEBRTC_SIMULCAST
2022-01-28 14:06:36 +01:00
Juan Navarro a11210a7ee openvidu-browser: adaptive simulcast config depending on source video
Do not blindly enable simulcast; instead, analyze the properties of the
source track in order to decide upon a good configuration:

* Take into account Google Chrome decision table which dictates how many
simulcast layers will be sent at most:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/media/engine/simulcast.cc;l=90-114;drc=d3251968d1b3dbe7e1353a3f15970b47173103e9

* Limit bitrate and resolution on webcam videos, or framerate on
screenshare videos.
2022-01-28 14:03:26 +01:00
Juan Navarro 786f1009fb openvidu-browser: Stream.typeOfVideo backwards compatibility fix
Stream.typeOfVideo was a string and cannot be changed into an Enum
without breaking some client applications.

However, it is possible for us to start using an Enum internally, and
exporting this property as a union of strings, which is what is
generated by "keyof typeof Enum".
2022-01-28 13:56:46 +01:00
pabloFuente 4fe0a4fda2 openvidu-browser: add TypeOfVideo 2022-01-27 14:42:01 +01:00
pabloFuente f158119d68 openvidu-browser: error message when calling deprecated LocalRecorder#record(string) 2022-01-26 18:51:20 +01:00
pabloFuente 925a51482d openvidu-browser: replace mime-types with mime dependency 2022-01-26 18:34:50 +01:00
pabloFuente 8976cba6ce openvidu-browser: update dependencies versions 2022-01-26 17:59:31 +01:00
pabloFuente 3aae9a0ab1 openvidu-browser: revert wrong imports 2022-01-26 17:59:15 +01:00
pabloFuente 0010ac1157 openvidu-browser: install inherits and events packages 2022-01-26 17:38:23 +01:00
pabloFuente 4ca3839821 openvidu-browser: fix LocalRecorder 2022-01-26 17:23:16 +01:00
cruizba 18f3f76b22 Revert "deployment: Disable rollback temporarly on creating AMIs"
This reverts commit dc248cae71.
2022-01-26 16:28:26 +01:00
csantosm 4ebc22d9d0 openvidu-components: Added constructor in participant abstract class 2022-01-26 16:08:04 +01:00
csantosm e16816422c openvidu-componentS: Decoupled panels from openvidu layout 2022-01-26 16:06:15 +01:00
csantosm 9f9f09c8c5 openvidu-components: Renamed components and models
* ov-room to ov-session
* ov-participant to ov-stream
* ov-chat to ov-chat-panel
* ov-participant-panel to ov-participants-panel
* ConnectionWrapper to StreamModel
2022-01-26 16:01:22 +01:00
Pablo Fuente Pérez 6d37e4ce1f
Merge pull request #688 from Flamenco/patch-2
Check for outboundStreamOpts before accessing it
2022-01-26 14:31:06 +01:00
cruizba dc248cae71 deployment: Disable rollback temporarly on creating AMIs 2022-01-26 12:52:39 +01:00
pabloFuente ad8e8938d4 openvidu-browser: ensure Promise return on every resolve and reject 2022-01-26 12:18:05 +01:00
csantosm e9e3bbaf09 Refactored participant preview modal
- Commented not necessary code in user-settings which forced a new publisher init if device labels were empty
- Added more conditional cases initializing the default publisher in webrtc service
- Added video background color
2022-01-26 11:14:15 +01:00
Flamenco 75b88175cb
Check for outboundStreamOpts before accessing it
This method should be the same as the others in regards to checking for valid property.
It seems the extra logic for `isElectron` evaded the correct checking when calling from an incoming stream.

Error reported:
TypeError: Cannot read properties of undefined (reading 'publisherProperties')
```
2022-01-25 12:49:23 -05:00
csantosm 3c1876769b Fixed openvidu-webcomponent 2022-01-25 12:05:37 +01:00
csantosm a73230ac79 openvidu-components: Added webcomponent
Now it's possible generate a webcomponent using the openvidu-angular library.
2022-01-24 11:19:19 +01:00
Juan Navarro 46c7516764
Merge pull request #667 from OpenVidu/forcecodec-preferred
ForcedVideoCodec default set to MEDIA_SERVER_PREFERRED
2022-01-20 12:11:46 +01:00
csantosm 31f5206f01 openvidu-components: Added prettier 2022-01-20 12:07:42 +01:00
Juan Navarro bfa2ad8c65 openvidu-test-e2e: Support MEDIA_SERVER_PREFERRED and NONE as test codecs
Because this test is always run only for Kurento and Chrome, we know
what to select here in each case.
2022-01-20 12:00:01 +01:00
Juan Navarro 727a872d9f openvidu-test-e2e: Add new key 'forcedVideoCodecResolved' to API tests 2022-01-20 12:00:01 +01:00
Juan Navarro 0cb9180ec5 openvidu-server+clients: add new forcedVideoCodecResolved session property
Fill a new SessionProperties member "forcedVideoCodecResolved" to
contain the resolved value of "forcedVideoCodec", once the new
MEDIA_SERVER_PREFERRED has been taken into account and translated into
the appropriate option for each media server.

The logic to decide how to translate MEDIA_SERVER_PREFERRED into a
concrete forcedVideoCodec value is placed once in the REST entry point
of session creation (SessionRestController.java). Afterwards,
SessionProperties is just used as a simple storage for all session
features, and serialized / passed around between server and client.
2022-01-20 12:00:01 +01:00
Juan Navarro 0262c85ac0 openvidu-server: remove duplicated serialization of SessionProperties
Let SessionProperties serialize itself, instead of doing it externally
on the Session classes.
2022-01-20 12:00:01 +01:00
Juan Navarro 32fd093cf3 openvidu-server: add MEDIA_SERVER_PREFERRED as default for ForcedVideoCodec
MEDIA_SERVER_PREFERRED: A recommended choice is done for you,
based on the media server that is currently in use.
This is the default setting, and is equivalent to these values:
- For *mediasoup*, `NONE` is selected.
- For *Kurento*, `VP8` is selected.
2022-01-20 12:00:01 +01:00
csantosm 3c97ceac37 openvidu-components: Added openvidu videoconference components 2022-01-20 11:53:56 +01:00
csantosm 673058381f openvidu-components: Renamed library to openvidu-angular 2022-01-20 09:58:12 +01:00