Review all href usages of target="_blank"

Do not force the user's browser to open new tabs when navigating within
the documentation pages. We discussed about this and agreed that doing
so is user hostile and goes away from how HTTP links have been working
for 30 years (i.e. leave users decide if THEY want a new tab or not, by
how they open the links).

Used these regexes:

From: target="blank"
To: target="_blank"

From: (\]\((?!http)[^)]+\))\{:target="_blank"\}
To: $1

From: (\]\(https?://docs.openvidu.io[^)]+\))\{:target="_blank"\}
To: $1

From: href="((?!http)\S+)" target="_blank"
To: href="$1"

From: href="(https?://docs.openvidu.io\S+)" target="_blank"
To: href="$1"
pull/704/head
Juan Navarro 2022-02-28 13:51:26 +01:00
parent 1173f04abc
commit 4d004e4a9e
17 changed files with 202 additions and 188 deletions

View File

@ -63,7 +63,7 @@ export class Connection {
role: string; role: string;
/** /**
* Whether the streams published by this Connection will be recorded or not. This only affects [INDIVIDUAL recording](/en/stable/advanced-features/recording/#individual-recording-selection) <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * Whether the streams published by this Connection will be recorded or not. This only affects [INDIVIDUAL recording](/en/stable/advanced-features/recording/#individual-recording-selection) <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* **Only defined for the local connection. In remote connections will be `undefined`** * **Only defined for the local connection. In remote connections will be `undefined`**
*/ */
@ -174,7 +174,7 @@ export class Connection {
this.addStream(stream); this.addStream(stream);
}); });
logger.info("Remote 'Connection' with 'connectionId' [" + this.connectionId + '] is now configured for receiving Streams with options: ', this.stream!.inboundStreamOpts); logger.info("Remote 'Connection' with 'connectionId' [" + this.connectionId + '] is now configured for receiving Streams with options: ', this.stream!.inboundStreamOpts);
} }

View File

@ -20,8 +20,8 @@ import { Session } from '../../OpenVidu/Session';
import { Event } from './Event'; import { Event } from './Event';
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* Triggered by [[connectionPropertyChanged]] * Triggered by [[connectionPropertyChanged]]
*/ */
export class ConnectionPropertyChangedEvent extends Event { export class ConnectionPropertyChangedEvent extends Event {
@ -63,4 +63,4 @@ export class ConnectionPropertyChangedEvent extends Event {
// tslint:disable-next-line:no-empty // tslint:disable-next-line:no-empty
callDefaultBehavior() { } callDefaultBehavior() { }
} }

View File

@ -35,28 +35,28 @@ export interface SessionEventMap extends EventMap {
/** /**
* Event dispatched when a new user has connected to the session. * Event dispatched when a new user has connected to the session.
* *
* It is fired for both the local user and remote users. * It is fired for both the local user and remote users.
*/ */
connectionCreated: ConnectionEvent; connectionCreated: ConnectionEvent;
/** /**
* Event dispatched when a remote user has left the session. * Event dispatched when a remote user has left the session.
* *
* For the local user see [[sessionDisconnected]]. * For the local user see [[sessionDisconnected]].
*/ */
connectionDestroyed: ConnectionEvent; connectionDestroyed: ConnectionEvent;
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* Event dispatched when a property of the local [[Connection]] object changes. * Event dispatched when a property of the local [[Connection]] object changes.
* *
* It is fired only for the local user. * It is fired only for the local user.
* *
* The properties that may change are [[Connection.role]] and [[Connection.record]]. * The properties that may change are [[Connection.role]] and [[Connection.record]].
* The only way the Connection properties may change is by updating them through: * The only way the Connection properties may change is by updating them through:
* *
* - [API REST](/en/stable/reference-docs/REST-API/#patch-connection) * - [API REST](/en/stable/reference-docs/REST-API/#patch-connection)
* - [openvidu-java-client](/en/stable/reference-docs/openvidu-java-client/#update-a-connection) * - [openvidu-java-client](/en/stable/reference-docs/openvidu-java-client/#update-a-connection)
* - [openvidu-node-client](/en/stable/reference-docs/openvidu-node-client/#update-a-connection)<br><br> * - [openvidu-node-client](/en/stable/reference-docs/openvidu-node-client/#update-a-connection)<br><br>
@ -65,21 +65,21 @@ export interface SessionEventMap extends EventMap {
/** /**
* Event dispatched when the local user has left the session. * Event dispatched when the local user has left the session.
* *
* For remote users see [[connectionDestroyed]]. * For remote users see [[connectionDestroyed]].
*/ */
sessionDisconnected: SessionDisconnectedEvent; sessionDisconnected: SessionDisconnectedEvent;
/** /**
* Event dispatched when a user has started publishing media to the session (see [[Session.publish]]). * Event dispatched when a user has started publishing media to the session (see [[Session.publish]]).
* *
* It is fired for both the local user and remote users. * It is fired for both the local user and remote users.
*/ */
streamCreated: StreamEvent; streamCreated: StreamEvent;
/** /**
* Event dispatched when a user stops publishing media to the session. * Event dispatched when a user stops publishing media to the session.
* *
* It is fired for both the local user and remote users. * It is fired for both the local user and remote users.
*/ */
streamDestroyed: StreamEvent; streamDestroyed: StreamEvent;
@ -87,16 +87,16 @@ export interface SessionEventMap extends EventMap {
/** /**
* Event dispatched when a Stream undergoes any change in any of its mutable properties * Event dispatched when a Stream undergoes any change in any of its mutable properties
* (see [[StreamPropertyChangedEvent.changedProperty]]). * (see [[StreamPropertyChangedEvent.changedProperty]]).
* *
* It is fired for both remote streams (owned by a [[Subscriber]]) or local streams (owned by a [[Publisher]]). * It is fired for both remote streams (owned by a [[Subscriber]]) or local streams (owned by a [[Publisher]]).
*/ */
streamPropertyChanged: StreamPropertyChangedEvent; streamPropertyChanged: StreamPropertyChangedEvent;
/** /**
* Event dispatched when a user has started speaking. * Event dispatched when a user has started speaking.
* *
* It is fired for both the local user and remote users. * It is fired for both the local user and remote users.
* *
* Extra information: * Extra information:
* - This event will only be triggered for **streams that have audio tracks** ([[Stream.hasAudio]] must be true). * - This event will only be triggered for **streams that have audio tracks** ([[Stream.hasAudio]] must be true).
* - Further configuration can be applied on how the event is dispatched by setting property `publisherSpeakingEventsOptions` in the call of [[OpenVidu.setAdvancedConfiguration]]. * - Further configuration can be applied on how the event is dispatched by setting property `publisherSpeakingEventsOptions` in the call of [[OpenVidu.setAdvancedConfiguration]].
@ -105,9 +105,9 @@ export interface SessionEventMap extends EventMap {
/** /**
* Event dispatched when a user has stopped speaking. * Event dispatched when a user has stopped speaking.
* *
* It is fired for both the local user and remote users. * It is fired for both the local user and remote users.
* *
* Extra information: * Extra information:
* - This event will only be triggered for **streams that have audio tracks** ([[Stream.hasAudio]] must be true). * - This event will only be triggered for **streams that have audio tracks** ([[Stream.hasAudio]] must be true).
* - Further configuration can be applied on how the event is dispatched by setting property `publisherSpeakingEventsOptions` in the call of [[OpenVidu.setAdvancedConfiguration]]. * - Further configuration can be applied on how the event is dispatched by setting property `publisherSpeakingEventsOptions` in the call of [[OpenVidu.setAdvancedConfiguration]].
@ -121,14 +121,14 @@ export interface SessionEventMap extends EventMap {
/** /**
* Event dispatched when a signal is received (see [Send text messages between users](/en/stable/cheatsheet/send-messages)). * Event dispatched when a signal is received (see [Send text messages between users](/en/stable/cheatsheet/send-messages)).
* *
* If the listener is added as **`signal:TYPE`**, only signals of type **`TYPE`** will trigger the event. * If the listener is added as **`signal:TYPE`**, only signals of type **`TYPE`** will trigger the event.
*/ */
signal: SignalEvent; signal: SignalEvent;
/** /**
* Event dispatched when the session has started being recorded. * Event dispatched when the session has started being recorded.
* *
* Property **`OPENVIDU_RECORDING_NOTIFICATION`** of [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-config/) * Property **`OPENVIDU_RECORDING_NOTIFICATION`** of [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-config/)
* defines which users should receive this events (by default, only users with role `PUBLISHER` or `MODERATOR`) * defines which users should receive this events (by default, only users with role `PUBLISHER` or `MODERATOR`)
*/ */
@ -136,32 +136,32 @@ export interface SessionEventMap extends EventMap {
/** /**
* Event dispatched when the session has stopped being recorded. * Event dispatched when the session has stopped being recorded.
* *
* Property **`OPENVIDU_RECORDING_NOTIFICATION`** of [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-config/) * Property **`OPENVIDU_RECORDING_NOTIFICATION`** of [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-config/)
* defines which users should receive this events (by default, only users with role `PUBLISHER` or `MODERATOR`) * defines which users should receive this events (by default, only users with role `PUBLISHER` or `MODERATOR`)
*/ */
recordingStopped: RecordingEvent; recordingStopped: RecordingEvent;
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* Event dispatched when the network quality level of a [[Connection]] changes. See [network quality](/en/stable/advanced-features/network-quality/). * Event dispatched when the network quality level of a [[Connection]] changes. See [network quality](/en/stable/advanced-features/network-quality/).
*/ */
networkQualityLevelChanged: NetworkQualityLevelChangedEvent; networkQualityLevelChanged: NetworkQualityLevelChangedEvent;
/** /**
* Event dispatched when the local user has lost its connection to the session, and starts the automatic reconnection process. * Event dispatched when the local user has lost its connection to the session, and starts the automatic reconnection process.
* *
* See [Reconnection events](/en/stable/advanced-features/automatic-reconnection/#reconnection-events). * See [Reconnection events](/en/stable/advanced-features/automatic-reconnection/#reconnection-events).
*/ */
reconnecting: never; reconnecting: never;
/** /**
* Event dispatched when the local user has successfully recovered its connection to the session after losing it. * Event dispatched when the local user has successfully recovered its connection to the session after losing it.
* *
* If the connection was recovered but OpenVidu Server already evicted the user due to timeout, then this event will * If the connection was recovered but OpenVidu Server already evicted the user due to timeout, then this event will
* not be dispatched. A [[sessionDisconnected]] event with reason `networkDisconnect` will be triggered instead. * not be dispatched. A [[sessionDisconnected]] event with reason `networkDisconnect` will be triggered instead.
* *
* See [Reconnection events](/en/stable/advanced-features/automatic-reconnection/#reconnection-events). * See [Reconnection events](/en/stable/advanced-features/automatic-reconnection/#reconnection-events).
*/ */
reconnected: never; reconnected: never;
@ -171,4 +171,4 @@ export interface SessionEventMap extends EventMap {
* To see the different types of exceptions go to [[ExceptionEventName]]. * To see the different types of exceptions go to [[ExceptionEventName]].
*/ */
exception: ExceptionEvent; exception: ExceptionEvent;
} }

View File

@ -112,9 +112,10 @@ public class Connection {
/** /**
* Whether the streams published by this Connection will be recorded or not. * Whether the streams published by this Connection will be recorded or not.
* This only affects <a href= * This only affects
* "https://docs.openvidu.io/en/stable/advanced-features/recording/#individual-recording-selection" * <a href="https://docs.openvidu.io/en/stable/advanced-features/recording/#individual-recording-selection">
* target="_blank">INDIVIDUAL recording</a>. * INDIVIDUAL recording
* </a>.
*/ */
public boolean record() { public boolean record() {
return this.connectionProperties.record(); return this.connectionProperties.record();
@ -122,7 +123,7 @@ public class Connection {
/** /**
* Returns the role of the Connection. * Returns the role of the Connection.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -134,7 +135,7 @@ public class Connection {
/** /**
* Returns the RTSP URI of the Connection. * Returns the RTSP URI of the Connection.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -150,7 +151,7 @@ public class Connection {
* transcoding this can be disabled to save CPU power. If you are not sure if * transcoding this can be disabled to save CPU power. If you are not sure if
* transcoding might be necessary, setting this property to false <strong>may * transcoding might be necessary, setting this property to false <strong>may
* result in media connections not being established</strong>. * result in media connections not being established</strong>.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -166,7 +167,7 @@ public class Connection {
* consumption and network bandwidth in your server while nobody is asking to * consumption and network bandwidth in your server while nobody is asking to
* receive the camera's video. On the counterpart, first user subscribing to the * receive the camera's video. On the counterpart, first user subscribing to the
* IP camera stream will take a little longer to receive its video. * IP camera stream will take a little longer to receive its video.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -182,7 +183,7 @@ public class Connection {
* have, but more problematic will be in unstable networks. Use short buffers * have, but more problematic will be in unstable networks. Use short buffers
* only if there is a quality connection between the IP camera and OpenVidu * only if there is a quality connection between the IP camera and OpenVidu
* Server. * Server.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -208,21 +209,21 @@ public class Connection {
/** /**
* Returns the token string associated to the Connection. This is the value that * Returns the token string associated to the Connection. This is the value that
* must be sent to the client-side to be consumed in OpenVidu Browser method * must be sent to the client-side to be consumed in OpenVidu Browser method
* <a href= * <a href="https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html#connect">
* "https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html#connect" * Session.connect
* target="_blank">Session.connect</a>. * </a>.
*/ */
public String getToken() { public String getToken() {
return this.token; return this.token;
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,
* sans-serif">PRO</a> * sans-serif">PRO</a>
* *
* Returns the geo location of the connection, with the following format: * Returns the geo location of the connection, with the following format:
* <code>"CITY, COUNTRY"</code> (<code>"unknown"</code> if it wasn't possible to * <code>"CITY, COUNTRY"</code> (<code>"unknown"</code> if it wasn't possible to
* locate it) * locate it)

View File

@ -30,7 +30,7 @@ public class ConnectionProperties {
private List<IceServerProperties> customIceServers; private List<IceServerProperties> customIceServers;
/** /**
* *
* Builder for {@link io.openvidu.java.client.ConnectionProperties} * Builder for {@link io.openvidu.java.client.ConnectionProperties}
* *
*/ */
@ -125,9 +125,10 @@ public class ConnectionProperties {
/** /**
* Call this method to flag the streams published by this Connection to be * Call this method to flag the streams published by this Connection to be
* recorded or not. This only affects <a href= * recorded or not. This only affects
* "https://docs.openvidu.io/en/stable/advanced-features/recording/#individual-recording-selection" * <a href="https://docs.openvidu.io/en/stable/advanced-features/recording/#individual-recording-selection">
* target="_blank">INDIVIDUAL recording</a>. If not set by default will be true. * INDIVIDUAL recording
* </a>. If not set, by default will be true.
*/ */
public Builder record(boolean record) { public Builder record(boolean record) {
this.record = record; this.record = record;
@ -138,7 +139,7 @@ public class ConnectionProperties {
* Call this method to set the role assigned to this Connection. If not set by * Call this method to set the role assigned to this Connection. If not set by
* default will be {@link io.openvidu.java.client.OpenViduRole#PUBLISHER * default will be {@link io.openvidu.java.client.OpenViduRole#PUBLISHER
* PUBLISHER}. * PUBLISHER}.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -152,7 +153,7 @@ public class ConnectionProperties {
/** /**
* Call this method to set a {@link io.openvidu.java.client.KurentoOptions} * Call this method to set a {@link io.openvidu.java.client.KurentoOptions}
* object for this Connection. * object for this Connection.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -166,7 +167,7 @@ public class ConnectionProperties {
/** /**
* Call this method to set the RTSP URI of an IP camera. For example: * Call this method to set the RTSP URI of an IP camera. For example:
* <code>rtsp://your.camera.ip:7777/path</code> * <code>rtsp://your.camera.ip:7777/path</code>
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -184,7 +185,7 @@ public class ConnectionProperties {
* if transcoding might be necessary, setting this property to false <strong>may * if transcoding might be necessary, setting this property to false <strong>may
* result in media connections not being established</strong>. Default to * result in media connections not being established</strong>. Default to
* <code>true</code>. * <code>true</code>.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -202,7 +203,7 @@ public class ConnectionProperties {
* camera's video. On the counterpart, first user subscribing to the IP camera * camera's video. On the counterpart, first user subscribing to the IP camera
* stream will take a little longer to receive its video. Default to * stream will take a little longer to receive its video. Default to
* <code>true</code>. * <code>true</code>.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -219,7 +220,7 @@ public class ConnectionProperties {
* signal will have, but more problematic will be in unstable networks. Use * signal will have, but more problematic will be in unstable networks. Use
* short buffers only if there is a quality connection between the IP camera and * short buffers only if there is a quality connection between the IP camera and
* OpenVidu Server. Default to <code>2000</code>. * OpenVidu Server. Default to <code>2000</code>.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -292,14 +293,15 @@ public class ConnectionProperties {
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,
* sans-serif">PRO</a> Whether the streams published by this Connection will be * sans-serif">PRO</a> Whether the streams published by this Connection will be
* recorded or not. This only affects <a href= * recorded or not. This only affects
* "https://docs.openvidu.io/en/stable/advanced-features/recording/#individual-recording-selection" * <a href="https://docs.openvidu.io/en/stable/advanced-features/recording/#individual-recording-selection">
* target="_blank">INDIVIDUAL recording</a>. * INDIVIDUAL recording
* </a>.
*/ */
public Boolean record() { public Boolean record() {
return this.record; return this.record;
@ -307,7 +309,7 @@ public class ConnectionProperties {
/** /**
* Returns the role assigned to this Connection. * Returns the role assigned to this Connection.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -319,7 +321,7 @@ public class ConnectionProperties {
/** /**
* Returns the KurentoOptions assigned to this Connection. * Returns the KurentoOptions assigned to this Connection.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -331,7 +333,7 @@ public class ConnectionProperties {
/** /**
* Returns the RTSP URI of this Connection. * Returns the RTSP URI of this Connection.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -347,7 +349,7 @@ public class ConnectionProperties {
* transcoding this can be disabled to save CPU power. If you are not sure if * transcoding this can be disabled to save CPU power. If you are not sure if
* transcoding might be necessary, setting this property to false <strong>may * transcoding might be necessary, setting this property to false <strong>may
* result in media connections not being established</strong>. * result in media connections not being established</strong>.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -363,7 +365,7 @@ public class ConnectionProperties {
* server while nobody is asking to receive the camera's video. On the * server while nobody is asking to receive the camera's video. On the
* counterpart, first user subscribing to the IP camera stream will take a * counterpart, first user subscribing to the IP camera stream will take a
* little longer to receive its video. * little longer to receive its video.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for
@ -378,7 +380,7 @@ public class ConnectionProperties {
* milliseconds. The smaller it is, the less delay the signal will have, but * milliseconds. The smaller it is, the less delay the signal will have, but
* more problematic will be in unstable networks. Use short buffers only if * more problematic will be in unstable networks. Use short buffers only if
* there is a quality connection between the IP camera and OpenVidu Server. * there is a quality connection between the IP camera and OpenVidu Server.
* *
* <br> * <br>
* <br> * <br>
* <strong>Only for * <strong>Only for

View File

@ -34,7 +34,7 @@ public class KurentoOptions {
private String[] allowedFilters; private String[] allowedFilters;
/** /**
* *
* Builder for {@link io.openvidu.java.client.KurentoOptions} * Builder for {@link io.openvidu.java.client.KurentoOptions}
* *
*/ */
@ -113,8 +113,9 @@ public class KurentoOptions {
* Defines the maximum number of Kbps that the Connection will be able to * Defines the maximum number of Kbps that the Connection will be able to
* receive from Kurento Media Server per media stream. 0 means unconstrained. * receive from Kurento Media Server per media stream. 0 means unconstrained.
* Giving a value to this property will override the global configuration set in * Giving a value to this property will override the global configuration set in
* <a href="https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/" * <a href="https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/">
* target="_blank">OpenVidu Server configuration</a> (parameter * OpenVidu Server configuration
* </a> (parameter
* <code>OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH</code>) for every incoming * <code>OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH</code>) for every incoming
* stream of the user owning the token. <br> * stream of the user owning the token. <br>
* <strong>WARNING</strong>: the lower value set to this property limits every * <strong>WARNING</strong>: the lower value set to this property limits every
@ -130,8 +131,9 @@ public class KurentoOptions {
* Defines the minimum number of Kbps that the Connection will try to receive * Defines the minimum number of Kbps that the Connection will try to receive
* from Kurento Media Server per media stream. 0 means unconstrained. Giving a * from Kurento Media Server per media stream. 0 means unconstrained. Giving a
* value to this property will override the global configuration set in * value to this property will override the global configuration set in
* <a href= "https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/" * <a href= "https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/">
* target="_blank">OpenVidu Server configuration</a> (parameter * OpenVidu Server configuration
* </a> (parameter
* <code>OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH</code>) for every incoming * <code>OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH</code>) for every incoming
* stream of the user owning the token. * stream of the user owning the token.
*/ */
@ -143,8 +145,9 @@ public class KurentoOptions {
* Defines the maximum number of Kbps that the Connection will be able to send * Defines the maximum number of Kbps that the Connection will be able to send
* to Kurento Media Server per media stream. 0 means unconstrained. Giving a * to Kurento Media Server per media stream. 0 means unconstrained. Giving a
* value to this property will override the global configuration set in * value to this property will override the global configuration set in
* <a href= "https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/" * <a href= "https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/">
* target="_blank">OpenVidu Server configuration</a> (parameter * OpenVidu Server configuration
* </a> (parameter
* <code>OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH</code>) for every outgoing * <code>OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH</code>) for every outgoing
* stream of the user owning the token. <br> * stream of the user owning the token. <br>
* <strong>WARNING</strong>: this value limits every other bandwidth of the * <strong>WARNING</strong>: this value limits every other bandwidth of the
@ -159,8 +162,9 @@ public class KurentoOptions {
* Defines the minimum number of Kbps that the Connection will try to send to * Defines the minimum number of Kbps that the Connection will try to send to
* Kurento Media Server per media stream. 0 means unconstrained. Giving a value * Kurento Media Server per media stream. 0 means unconstrained. Giving a value
* to this property will override the global configuration set in * to this property will override the global configuration set in
* <a href= "https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/" * <a href= "https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/">
* target="_blank">OpenVidu Server configuration</a> (parameter * OpenVidu Server configuration
* </a> (parameter
* <code>OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH</code>) for every outgoing * <code>OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH</code>) for every outgoing
* stream of the user owning the token. * stream of the user owning the token.
*/ */
@ -171,8 +175,9 @@ public class KurentoOptions {
/** /**
* Defines the names of the filters the Connection will be able to apply to its * Defines the names of the filters the Connection will be able to apply to its
* published streams. See * published streams. See
* <a href="https://docs.openvidu.io/en/stable/advanced-features/filters/" * <a href="https://docs.openvidu.io/en/stable/advanced-features/filters/">
* target= "_blank">Voice and video filters</a>. * Voice and video filters
* </a>.
*/ */
public String[] getAllowedFilters() { public String[] getAllowedFilters() {
return allowedFilters; return allowedFilters;
@ -180,8 +185,9 @@ public class KurentoOptions {
/** /**
* See if the Connection can apply certain filter. See * See if the Connection can apply certain filter. See
* <a href="https://docs.openvidu.io/en/stable/advanced-features/filters/" * <a href="https://docs.openvidu.io/en/stable/advanced-features/filters/">
* target= "_blank">Voice and video filters</a>. * Voice and video filters
* </a>.
*/ */
public boolean isFilterAllowed(String filterType) { public boolean isFilterAllowed(String filterType) {
if (filterType == null) { if (filterType == null) {

View File

@ -21,11 +21,12 @@ import com.google.gson.JsonObject;
/** /**
* See {@link io.openvidu.java.client.Connection#getPublishers()}. * See {@link io.openvidu.java.client.Connection#getPublishers()}.
* *
* <br> * <br>
* This is a backend representation of a published media stream (see <a href= * This is a backend representation of a published media stream (see
* "https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Stream.html" * <a href="https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Stream.html">
* target="_blank"> OpenVidu Browser Stream class</a>). * OpenVidu Browser Stream class
* </a>).
*/ */
public class Publisher { public class Publisher {

View File

@ -44,9 +44,10 @@ public enum RecordingLayout {
HORIZONTAL_PRESENTATION, HORIZONTAL_PRESENTATION,
/** /**
* Use your own custom recording layout. See <a href= * Use your own custom recording layout. See
* "https://docs.openvidu.io/en/stable/advanced-features/recording#custom-recording-layouts" * <a href="https://docs.openvidu.io/en/stable/advanced-features/recording#custom-recording-layouts">
* target="_blank">Custom recording layouts</a> to learn more * Custom recording layouts
* </a> to learn more.
*/ */
CUSTOM CUSTOM
} }

View File

@ -202,9 +202,9 @@ public class RecordingProperties {
* to {@link io.openvidu.java.client.RecordingLayout#CUSTOM} you can call this * to {@link io.openvidu.java.client.RecordingLayout#CUSTOM} you can call this
* method to set the relative path to the specific custom layout you want to * method to set the relative path to the specific custom layout you want to
* use.<br> * use.<br>
* See <a href= * See <a href="https://docs.openvidu.io/en/stable/advanced-features/recording#custom-recording-layouts">
* "https://docs.openvidu.io/en/stable/advanced-features/recording#custom-recording-layouts" * Custom recording layouts
* target="_blank">Custom recording layouts</a> to learn more * </a> to learn more
*/ */
public RecordingProperties.Builder customLayout(String path) { public RecordingProperties.Builder customLayout(String path) {
this.customLayout = path; this.customLayout = path;
@ -234,7 +234,7 @@ public class RecordingProperties {
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,
@ -288,7 +288,7 @@ public class RecordingProperties {
* Defines whether to record audio or not. Cannot be set to false at the same * Defines whether to record audio or not. Cannot be set to false at the same
* time as {@link RecordingProperties#hasVideo()}.<br> * time as {@link RecordingProperties#hasVideo()}.<br>
* <br> * <br>
* *
* Default to true * Default to true
*/ */
public Boolean hasAudio() { public Boolean hasAudio() {
@ -299,7 +299,7 @@ public class RecordingProperties {
* Defines whether to record video or not. Cannot be set to false at the same * Defines whether to record video or not. Cannot be set to false at the same
* time as {@link RecordingProperties#hasAudio()}.<br> * time as {@link RecordingProperties#hasAudio()}.<br>
* <br> * <br>
* *
* Default to true * Default to true
*/ */
public Boolean hasVideo() { public Boolean hasVideo() {
@ -312,7 +312,7 @@ public class RecordingProperties {
* a single archive in a grid layout or {@link Recording.OutputMode#INDIVIDUAL} * a single archive in a grid layout or {@link Recording.OutputMode#INDIVIDUAL}
* for one archive for each stream.<br> * for one archive for each stream.<br>
* <br> * <br>
* *
* Default to {@link Recording.OutputMode#COMPOSED OutputMode.COMPOSED} * Default to {@link Recording.OutputMode#COMPOSED OutputMode.COMPOSED}
*/ */
public Recording.OutputMode outputMode() { public Recording.OutputMode outputMode() {
@ -327,7 +327,7 @@ public class RecordingProperties {
* recordings with {@link RecordingProperties#hasVideo()} to true. Property * recordings with {@link RecordingProperties#hasVideo()} to true. Property
* ignored for INDIVIDUAL recordings and audio-only recordings<br> * ignored for INDIVIDUAL recordings and audio-only recordings<br>
* <br> * <br>
* *
* Default to {@link RecordingLayout#BEST_FIT RecordingLayout.BEST_FIT} * Default to {@link RecordingLayout#BEST_FIT RecordingLayout.BEST_FIT}
*/ */
public RecordingLayout recordingLayout() { public RecordingLayout recordingLayout() {
@ -345,7 +345,7 @@ public class RecordingProperties {
* individual video files will have the native resolution of the published * individual video files will have the native resolution of the published
* stream.<br> * stream.<br>
* <br> * <br>
* *
* Default to "1280x720" * Default to "1280x720"
*/ */
public String resolution() { public String resolution() {
@ -363,7 +363,7 @@ public class RecordingProperties {
* individual video files will have the native frame rate of the published * individual video files will have the native frame rate of the published
* stream.<br> * stream.<br>
* <br> * <br>
* *
* Default to 25 * Default to 25
*/ */
public Integer frameRate() { public Integer frameRate() {
@ -379,7 +379,7 @@ public class RecordingProperties {
* recordings with {@link RecordingProperties#hasVideo()} to true. Property * recordings with {@link RecordingProperties#hasVideo()} to true. Property
* ignored for INDIVIDUAL recordings and audio-only recordings<br> * ignored for INDIVIDUAL recordings and audio-only recordings<br>
* <br> * <br>
* *
* Default to 536870912 (512 MB) * Default to 536870912 (512 MB)
*/ */
public Long shmSize() { public Long shmSize() {
@ -390,9 +390,9 @@ public class RecordingProperties {
* If {@link io.openvidu.java.client.RecordingProperties#recordingLayout()} is * If {@link io.openvidu.java.client.RecordingProperties#recordingLayout()} is
* set to {@link io.openvidu.java.client.RecordingLayout#CUSTOM}, this property * set to {@link io.openvidu.java.client.RecordingLayout#CUSTOM}, this property
* defines the relative path to the specific custom layout you want to use.<br> * defines the relative path to the specific custom layout you want to use.<br>
* See <a href= * See <a href="https://docs.openvidu.io/en/stable/advanced-features/recording#custom-recording-layouts">
* "https://docs.openvidu.io/en/stable/advanced-features/recording#custom-recording-layouts" * Custom recording layouts
* target="_blank">Custom recording layouts</a> to learn more * </a> to learn more
*/ */
public String customLayout() { public String customLayout() {
return this.customLayout; return this.customLayout;
@ -415,7 +415,7 @@ public class RecordingProperties {
* guarantee that all streams present at the beginning of a recording are * guarantee that all streams present at the beginning of a recording are
* actually being recorded.<br> * actually being recorded.<br>
* <br> * <br>
* *
* Default to false * Default to false
*/ */
public Boolean ignoreFailedStreams() { public Boolean ignoreFailedStreams() {
@ -423,7 +423,7 @@ public class RecordingProperties {
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,

View File

@ -94,7 +94,7 @@ public class Session {
* object. * object.
* *
* @return The generated token String * @return The generated token String
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -110,7 +110,7 @@ public class Session {
* {@link io.openvidu.java.client.Connection} object. * {@link io.openvidu.java.client.Connection} object.
* *
* @return The generated token String * @return The generated token String
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -154,7 +154,7 @@ public class Session {
* *
* @return The generated {@link io.openvidu.java.client.Connection Connection} * @return The generated {@link io.openvidu.java.client.Connection Connection}
* object. * object.
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -172,7 +172,7 @@ public class Session {
* *
* @return The generated {@link io.openvidu.java.client.Connection Connection} * @return The generated {@link io.openvidu.java.client.Connection Connection}
* object. * object.
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -213,7 +213,7 @@ public class Session {
/** /**
* Gracefully closes the Session: unpublishes all streams and evicts every * Gracefully closes the Session: unpublishes all streams and evicts every
* participant. * participant.
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -251,14 +251,14 @@ public class Session {
* {@link io.openvidu.java.client.Session#forceUnpublish(Publisher)} or * {@link io.openvidu.java.client.Session#forceUnpublish(Publisher)} or
* {@link io.openvidu.java.client.Session#updateConnection(String, ConnectionProperties)}.<br> * {@link io.openvidu.java.client.Session#updateConnection(String, ConnectionProperties)}.<br>
* <br> * <br>
* *
* To update all Session objects owned by OpenVidu object at once, call * To update all Session objects owned by OpenVidu object at once, call
* {@link io.openvidu.java.client.OpenVidu#fetch()}. * {@link io.openvidu.java.client.OpenVidu#fetch()}.
* *
* @return true if the Session status has changed with respect to the server, * @return true if the Session status has changed with respect to the server,
* false if not. This applies to any property or sub-property of the * false if not. This applies to any property or sub-property of the
* object. * object.
* *
* @throws OpenViduHttpException * @throws OpenViduHttpException
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
*/ */
@ -297,26 +297,26 @@ public class Session {
* <code>active</code>, or into a token invalidation if no user had taken the * <code>active</code>, or into a token invalidation if no user had taken the
* Connection yet (status <code>pending</code>). <br> * Connection yet (status <code>pending</code>). <br>
* <br> * <br>
* *
* In the first case, OpenVidu Browser will trigger the proper events on the * In the first case, OpenVidu Browser will trigger the proper events on the
* client-side (<code>streamDestroyed</code>, <code>connectionDestroyed</code>, * client-side (<code>streamDestroyed</code>, <code>connectionDestroyed</code>,
* <code>sessionDisconnected</code>) with reason set to * <code>sessionDisconnected</code>) with reason set to
* <code>"forceDisconnectByServer"</code>. <br> * <code>"forceDisconnectByServer"</code>. <br>
* <br> * <br>
* *
* In the second case, the token of the Connection will be invalidated and no * In the second case, the token of the Connection will be invalidated and no
* user will be able to connect to the session with it. <br> * user will be able to connect to the session with it. <br>
* <br> * <br>
* *
* This method automatically updates the properties of the local affected * This method automatically updates the properties of the local affected
* objects. This means that there is no need to call * objects. This means that there is no need to call
* {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or * {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or
* {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()} to see the * {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()} to see the
* changes consequence of the execution of this method applied in the local * changes consequence of the execution of this method applied in the local
* objects. * objects.
* *
* @param connection The Connection to remove * @param connection The Connection to remove
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -329,9 +329,9 @@ public class Session {
* forceDisconnect(ConnectionProperties)} but providing the * forceDisconnect(ConnectionProperties)} but providing the
* {@link io.openvidu.java.client.Connection#getConnectionId() connectionId} * {@link io.openvidu.java.client.Connection#getConnectionId() connectionId}
* instead of the Connection object. * instead of the Connection object.
* *
* @param connectionId The identifier of the Connection object to remove * @param connectionId The identifier of the Connection object to remove
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -382,7 +382,7 @@ public class Session {
* the proper events in the client-side (<code>streamDestroyed</code>) with * the proper events in the client-side (<code>streamDestroyed</code>) with
* reason set to <code>"forceUnpublishByServer"</code>. <br> * reason set to <code>"forceUnpublishByServer"</code>. <br>
* <br> * <br>
* *
* You can get <code>publisher</code> parameter with * You can get <code>publisher</code> parameter with
* {@link io.openvidu.java.client.Session#getActiveConnections()} and then for * {@link io.openvidu.java.client.Session#getActiveConnections()} and then for
* each Connection you can call * each Connection you can call
@ -390,16 +390,16 @@ public class Session {
* {@link io.openvidu.java.client.Session#fetch()} before to fetch the current * {@link io.openvidu.java.client.Session#fetch()} before to fetch the current
* actual properties of the Session from OpenVidu Server.<br> * actual properties of the Session from OpenVidu Server.<br>
* <br> * <br>
* *
* This method automatically updates the properties of the local affected * This method automatically updates the properties of the local affected
* objects. This means that there is no need to call * objects. This means that there is no need to call
* {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or * {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or
* {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()} to see the * {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()} to see the
* changes consequence of the execution of this method applied in the local * changes consequence of the execution of this method applied in the local
* objects. * objects.
* *
* @param publisher The Publisher object to unpublish * @param publisher The Publisher object to unpublish
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -412,9 +412,9 @@ public class Session {
* forceUnpublish(Publisher)} but providing the * forceUnpublish(Publisher)} but providing the
* {@link io.openvidu.java.client.Publisher#getStreamId() streamId} instead of * {@link io.openvidu.java.client.Publisher#getStreamId() streamId} instead of
* the Publisher object. * the Publisher object.
* *
* @param streamId The identifier of the Publisher object to remove * @param streamId The identifier of the Publisher object to remove
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -451,7 +451,7 @@ public class Session {
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,
@ -465,7 +465,7 @@ public class Session {
* ConnectionProperties.Builder.record(boolean)}</li> * ConnectionProperties.Builder.record(boolean)}</li>
* </ul> * </ul>
* <br> * <br>
* *
* This method automatically updates the properties of the local affected * This method automatically updates the properties of the local affected
* objects. This means that there is no need to call * objects. This means that there is no need to call
* {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or * {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or
@ -473,19 +473,19 @@ public class Session {
* changes consequence of the execution of this method applied in the local * changes consequence of the execution of this method applied in the local
* objects.<br> * objects.<br>
* <br> * <br>
* *
* The affected client will trigger one <a href= * The affected client will trigger one
* "/en/stable/api/openvidu-browser/classes/ConnectionPropertyChangedEvent.html" * <a href="/en/stable/api/openvidu-browser/classes/ConnectionPropertyChangedEvent.html">
* target="_blank">ConnectionPropertyChangedEvent</a> for each modified * ConnectionPropertyChangedEvent
* property. * </a> for each modified property.
* *
* @param connectionId The Connection to modify * @param connectionId The Connection to modify
* @param connectionProperties A ConnectionProperties object with the new values * @param connectionProperties A ConnectionProperties object with the new values
* to apply * to apply
* *
* @return The updated {@link io.openvidu.java.client.Connection Connection} * @return The updated {@link io.openvidu.java.client.Connection Connection}
* object * object
* *
* @throws OpenViduJavaClientException * @throws OpenViduJavaClientException
* @throws OpenViduHttpException * @throws OpenViduHttpException
*/ */
@ -542,9 +542,9 @@ public class Session {
* actual value you must call first * actual value you must call first
* {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or * {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or
* {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()}. * {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()}.
* *
* @param id The Connection to get * @param id The Connection to get
* *
* @return The {@link io.openvidu.java.client.Connection Connection} object, or * @return The {@link io.openvidu.java.client.Connection Connection} object, or
* <code>null</code> if no Connection is found for param <code>id</code> * <code>null</code> if no Connection is found for param <code>id</code>
*/ */
@ -558,7 +558,7 @@ public class Session {
* current actual value you must call first * current actual value you must call first
* {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or * {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or
* {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()}. * {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()}.
* *
* <strong>The list of Connections will remain unchanged since the last time * <strong>The list of Connections will remain unchanged since the last time
* method {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or * method {@link io.openvidu.java.client.Session#fetch() Session.fetch()} or
* {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()} was * {@link io.openvidu.java.client.OpenVidu#fetch() OpenVidu.fetch()} was

View File

@ -104,7 +104,7 @@ public class SessionProperties {
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,
@ -224,7 +224,7 @@ public class SessionProperties {
} }
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/"
* style="display: inline-block; background-color: rgb(0, 136, 170); color: * style="display: inline-block; background-color: rgb(0, 136, 170); color:
* white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: * white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius:
* 3px; font-size: 13px; line-height:21px; font-family: Montserrat, * 3px; font-size: 13px; line-height:21px; font-family: Montserrat,

View File

@ -55,7 +55,7 @@ export class Connection {
activeAt: number; activeAt: number;
/** /**
* <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* Geo location of the Connection, with the following format: `"CITY, COUNTRY"` (`"unknown"` if it wasn't possible to locate it) * Geo location of the Connection, with the following format: `"CITY, COUNTRY"` (`"unknown"` if it wasn't possible to locate it)
*/ */
location: string; location: string;
@ -281,4 +281,4 @@ export class Connection {
} }
} }
} }

View File

@ -23,10 +23,10 @@ export interface ConnectionProperties {
/** /**
* Type of Connection. The [[ConnectionType]] dictates what properties will have effect: * Type of Connection. The [[ConnectionType]] dictates what properties will have effect:
* *
* - **[[ConnectionType.WEBRTC]]**: [[data]], [[record]], [[role]], [[kurentoOptions]] * - **[[ConnectionType.WEBRTC]]**: [[data]], [[record]], [[role]], [[kurentoOptions]]
* - **[[ConnectionType.IPCAM]]**: [[data]], [[record]], [[rtspUri]], [[adaptativeBitrate]], [[onlyPlayWithSubscribers]], [[networkCache]] * - **[[ConnectionType.IPCAM]]**: [[data]], [[record]], [[rtspUri]], [[adaptativeBitrate]], [[onlyPlayWithSubscribers]], [[networkCache]]
* *
* @default WEBRTC * @default WEBRTC
*/ */
type?: ConnectionType; type?: ConnectionType;
@ -40,19 +40,19 @@ export interface ConnectionProperties {
data?: string; data?: string;
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* Whether to record the streams published by this Connection or not. This only affects [INDIVIDUAL recording](/en/stable/advanced-features/recording/#individual-recording-selection) * Whether to record the streams published by this Connection or not. This only affects [INDIVIDUAL recording](/en/stable/advanced-features/recording/#individual-recording-selection)
* *
* @default true * @default true
*/ */
record?: boolean; record?: boolean;
/** /**
* The role assigned to this Connection * The role assigned to this Connection
* *
* **Only for [[ConnectionType.WEBRTC]]** * **Only for [[ConnectionType.WEBRTC]]**
* *
* @default PUBLISHER * @default PUBLISHER
*/ */
role?: OpenViduRole; role?: OpenViduRole;
@ -77,7 +77,7 @@ export interface ConnectionProperties {
* the global configuration set in [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-config/) * the global configuration set in [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-config/)
* (parameter `OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH`) for every outgoing stream of the Connection. * (parameter `OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH`) for every outgoing stream of the Connection.
* - `allowedFilters`: names of the filters the Connection will be able to apply. See [Voice and video filters](/en/stable/advanced-features/filters/) * - `allowedFilters`: names of the filters the Connection will be able to apply. See [Voice and video filters](/en/stable/advanced-features/filters/)
* *
* **Only for [[ConnectionType.WEBRTC]]** * **Only for [[ConnectionType.WEBRTC]]**
*/ */
kurentoOptions?: { kurentoOptions?: {
@ -90,8 +90,8 @@ export interface ConnectionProperties {
/** /**
* RTSP URI of an IP camera. For example: `rtsp://your.camera.ip:7777/path` * RTSP URI of an IP camera. For example: `rtsp://your.camera.ip:7777/path`
* *
* **Only for [[ConnectionType.IPCAM]]** * **Only for [[ConnectionType.IPCAM]]**
*/ */
rtspUri?: string; rtspUri?: string;
@ -99,9 +99,9 @@ export interface ConnectionProperties {
* Whether to use adaptative bitrate (and therefore adaptative quality) or not. For local network connections * Whether to use adaptative bitrate (and therefore adaptative quality) or not. For local network connections
* that do not require media transcoding this can be disabled to save CPU power. If you are not sure if transcoding * that do not require media transcoding this can be disabled to save CPU power. If you are not sure if transcoding
* might be necessary, setting this property to false **may result in media connections not being established**. * might be necessary, setting this property to false **may result in media connections not being established**.
* *
* **Only for [[ConnectionType.IPCAM]]** * **Only for [[ConnectionType.IPCAM]]**
* *
* @default true * @default true
*/ */
adaptativeBitrate?: boolean; adaptativeBitrate?: boolean;
@ -110,9 +110,9 @@ export interface ConnectionProperties {
* Whether to enable the IP camera stream only when some user is subscribed to it, or not. This allows you to reduce * Whether to enable the IP camera stream only when some user is subscribed to it, or not. This allows you to reduce
* power consumption and network bandwidth in your server while nobody is asking to receive the camera's video. * power consumption and network bandwidth in your server while nobody is asking to receive the camera's video.
* On the counterpart, first user subscribing to the IP camera stream will take a little longer to receive its video. * On the counterpart, first user subscribing to the IP camera stream will take a little longer to receive its video.
* *
* **Only for [[ConnectionType.IPCAM]]** * **Only for [[ConnectionType.IPCAM]]**
* *
* @default true * @default true
*/ */
onlyPlayWithSubscribers?: boolean; onlyPlayWithSubscribers?: boolean;
@ -121,9 +121,9 @@ export interface ConnectionProperties {
* Size of the buffer of the endpoint receiving the IP camera's stream, in milliseconds. The smaller it is, the less * Size of the buffer of the endpoint receiving the IP camera's stream, in milliseconds. The smaller it is, the less
* delay the signal will have, but more problematic will be in unstable networks. Use short buffers only if there is * delay the signal will have, but more problematic will be in unstable networks. Use short buffers only if there is
* a quality connection between the IP camera and OpenVidu Server. * a quality connection between the IP camera and OpenVidu Server.
* *
* **Only for [[ConnectionType.IPCAM]]** * **Only for [[ConnectionType.IPCAM]]**
* *
* @default 2000 * @default 2000
*/ */
networkCache?: number; networkCache?: number;

View File

@ -32,21 +32,21 @@ export interface RecordingProperties {
/** /**
* Whether or not to record audio. Cannot be set to false at the same time as [[RecordingProperties.hasVideo]] * Whether or not to record audio. Cannot be set to false at the same time as [[RecordingProperties.hasVideo]]
* *
* Default to true * Default to true
*/ */
hasAudio?: boolean; hasAudio?: boolean;
/** /**
* Whether or not to record video. Cannot be set to false at the same time as [[RecordingProperties.hasAudio]] * Whether or not to record video. Cannot be set to false at the same time as [[RecordingProperties.hasAudio]]
* *
* Default to true * Default to true
*/ */
hasVideo?: boolean; hasVideo?: boolean;
/** /**
* The mode of recording: COMPOSED for a single archive in a grid layout or INDIVIDUAL for one archive for each stream * The mode of recording: COMPOSED for a single archive in a grid layout or INDIVIDUAL for one archive for each stream
* *
* Default to [[Recording.OutputMode.COMPOSED]] * Default to [[Recording.OutputMode.COMPOSED]]
*/ */
outputMode?: Recording.OutputMode; outputMode?: Recording.OutputMode;
@ -54,7 +54,7 @@ export interface RecordingProperties {
/** /**
* The layout to be used in the recording.<br> * The layout to be used in the recording.<br>
* Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]] * Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]]
* *
* Default to [[RecordingLayout.BEST_FIT]] * Default to [[RecordingLayout.BEST_FIT]]
*/ */
recordingLayout?: RecordingLayout; recordingLayout?: RecordingLayout;
@ -64,7 +64,7 @@ export interface RecordingProperties {
* being both WIDTH and HEIGHT the number of pixels between 100 and 1999.<br> * being both WIDTH and HEIGHT the number of pixels between 100 and 1999.<br>
* Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]] * Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]]
* and [[RecordingProperties.hasVideo]] is set to true. For [[Recording.OutputMode.INDIVIDUAL]] all individual video files will have the native resolution of the published stream. * and [[RecordingProperties.hasVideo]] is set to true. For [[Recording.OutputMode.INDIVIDUAL]] all individual video files will have the native resolution of the published stream.
* *
* Default to "1280x720" * Default to "1280x720"
*/ */
resolution?: string; resolution?: string;
@ -73,7 +73,7 @@ export interface RecordingProperties {
* Recording video file frame rate.<br> * Recording video file frame rate.<br>
* Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]] * Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]]
* and [[RecordingProperties.hasVideo]] is set to true. For [[Recording.OutputMode.INDIVIDUAL]] all individual video files will have the native frame rate of the published stream. * and [[RecordingProperties.hasVideo]] is set to true. For [[Recording.OutputMode.INDIVIDUAL]] all individual video files will have the native frame rate of the published stream.
* *
* Default to 25 * Default to 25
*/ */
frameRate?: number; frameRate?: number;
@ -83,7 +83,7 @@ export interface RecordingProperties {
* Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]] * Will only have effect if [[RecordingProperties.outputMode]] is set to [[Recording.OutputMode.COMPOSED]] or [[Recording.OutputMode.COMPOSED_QUICK_START]]
* and [[RecordingProperties.hasVideo]] is set to true. Property ignored for INDIVIDUAL recordings and audio-only recordings. * and [[RecordingProperties.hasVideo]] is set to true. Property ignored for INDIVIDUAL recordings and audio-only recordings.
* Minimum 134217728 (128MB). * Minimum 134217728 (128MB).
* *
* Default to 536870912 (512 MB) * Default to 536870912 (512 MB)
*/ */
shmSize?: number; shmSize?: number;
@ -101,17 +101,17 @@ export interface RecordingProperties {
* For this type of recordings, when calling [[OpenVidu.startRecording]] by default all the streams available at the moment the recording process starts must be healthy * For this type of recordings, when calling [[OpenVidu.startRecording]] by default all the streams available at the moment the recording process starts must be healthy
* and properly sending media. If some stream that should be sending media is broken, then the recording process fails after a 10s timeout. In this way your application is notified * and properly sending media. If some stream that should be sending media is broken, then the recording process fails after a 10s timeout. In this way your application is notified
* that some stream is not being recorded, so it can retry the process again. * that some stream is not being recorded, so it can retry the process again.
* *
* But you can disable this rollback behavior and simply ignore any failed stream, which will be susceptible to be recorded in the future if media starts flowing as expected at any point. * But you can disable this rollback behavior and simply ignore any failed stream, which will be susceptible to be recorded in the future if media starts flowing as expected at any point.
* The downside of this behavior is that you will have no guarantee that all streams present at the beginning of a recording are actually being recorded. * The downside of this behavior is that you will have no guarantee that all streams present at the beginning of a recording are actually being recorded.
* *
* Default to false * Default to false
*/ */
ignoreFailedStreams?: boolean; ignoreFailedStreams?: boolean;
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* The Media Node where to host the recording. The default option if this property is not defined is the same * The Media Node where to host the recording. The default option if this property is not defined is the same
* Media Node hosting the Session to record. This object defines the following properties as Media Node selector: * Media Node hosting the Session to record. This object defines the following properties as Media Node selector:
* - `id`: Media Node unique identifier * - `id`: Media Node unique identifier
@ -120,4 +120,4 @@ export interface RecordingProperties {
id: string; id: string;
} }
} }

View File

@ -65,7 +65,7 @@ export class Session {
/** /**
* Array containing the active Connections of the Session. It is a subset of [[Session.connections]] array containing only * Array containing the active Connections of the Session. It is a subset of [[Session.connections]] array containing only
* those Connections with property [[Connection.status]] to `active`. * those Connections with property [[Connection.status]] to `active`.
* *
* To get the array of active Connections with their current actual value, you must call [[Session.fetch]] or [[OpenVidu.fetch]] * To get the array of active Connections with their current actual value, you must call [[Session.fetch]] or [[OpenVidu.fetch]]
* before consulting property [[activeConnections]] * before consulting property [[activeConnections]]
*/ */
@ -98,7 +98,7 @@ export class Session {
/** /**
* @deprecated Use [[Session.createConnection]] instead to get a [[Connection]] object. * @deprecated Use [[Session.createConnection]] instead to get a [[Connection]] object.
* *
* @returns A Promise that is resolved to the generated _token_ string if success and rejected with an Error object if not * @returns A Promise that is resolved to the generated _token_ string if success and rejected with an Error object if not
*/ */
public generateToken(tokenOptions?: TokenOptions): Promise<string> { public generateToken(tokenOptions?: TokenOptions): Promise<string> {
@ -137,7 +137,7 @@ export class Session {
* Creates a new Connection object associated to Session object and configured with * Creates a new Connection object associated to Session object and configured with
* `connectionProperties`. Each user connecting to the Session requires a Connection. * `connectionProperties`. Each user connecting to the Session requires a Connection.
* The token string value to send to the client side is available at [[Connection.token]]. * The token string value to send to the client side is available at [[Connection.token]].
* *
* @returns A Promise that is resolved to the generated [[Connection]] object if success and rejected with an Error object if not * @returns A Promise that is resolved to the generated [[Connection]] object if success and rejected with an Error object if not
*/ */
public createConnection(connectionProperties?: ConnectionProperties): Promise<Connection> { public createConnection(connectionProperties?: ConnectionProperties): Promise<Connection> {
@ -258,17 +258,17 @@ export class Session {
/** /**
* Removes the Connection from the Session. This can translate into a forced eviction of a user from the Session if the * Removes the Connection from the Session. This can translate into a forced eviction of a user from the Session if the
* Connection had status `active` or into a token invalidation if no user had taken the Connection yet (status `pending`). * Connection had status `active` or into a token invalidation if no user had taken the Connection yet (status `pending`).
* *
* In the first case, OpenVidu Browser will trigger the proper events in the client-side (`streamDestroyed`, `connectionDestroyed`, * In the first case, OpenVidu Browser will trigger the proper events in the client-side (`streamDestroyed`, `connectionDestroyed`,
* `sessionDisconnected`) with reason set to `"forceDisconnectByServer"`. * `sessionDisconnected`) with reason set to `"forceDisconnectByServer"`.
* *
* In the second case, the token of the Connection will be invalidated and no user will be able to connect to the session with it. * In the second case, the token of the Connection will be invalidated and no user will be able to connect to the session with it.
* *
* This method automatically updates the properties of the local affected objects. This means that there is no need to call * This method automatically updates the properties of the local affected objects. This means that there is no need to call
* [[Session.fetch]] or [[OpenVidu.fetch]]] to see the changes consequence of the execution of this method applied in the local objects. * [[Session.fetch]] or [[OpenVidu.fetch]]] to see the changes consequence of the execution of this method applied in the local objects.
* *
* @param connection The Connection object to remove from the session, or its `connectionId` property * @param connection The Connection object to remove from the session, or its `connectionId` property
* *
* @returns A Promise that is resolved if the Connection was successfully removed from the Session and rejected with an Error object if not * @returns A Promise that is resolved if the Connection was successfully removed from the Session and rejected with an Error object if not
*/ */
public forceDisconnect(connection: string | Connection): Promise<void> { public forceDisconnect(connection: string | Connection): Promise<void> {
@ -338,9 +338,9 @@ export class Session {
* *
* This method automatically updates the properties of the local affected objects. This means that there is no need to call * This method automatically updates the properties of the local affected objects. This means that there is no need to call
* [[Session.fetch]] or [[OpenVidu.fetch]] to see the changes consequence of the execution of this method applied in the local objects. * [[Session.fetch]] or [[OpenVidu.fetch]] to see the changes consequence of the execution of this method applied in the local objects.
* *
* @param publisher The Publisher object to unpublish, or its `streamId` property * @param publisher The Publisher object to unpublish, or its `streamId` property
* *
* @returns A Promise that is resolved if the stream was successfully unpublished and rejected with an Error object if not * @returns A Promise that is resolved if the stream was successfully unpublished and rejected with an Error object if not
*/ */
public forceUnpublish(publisher: string | Publisher): Promise<void> { public forceUnpublish(publisher: string | Publisher): Promise<void> {
@ -388,23 +388,23 @@ export class Session {
} }
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* Updates the properties of a Connection with a [[ConnectionProperties]] object. * Updates the properties of a Connection with a [[ConnectionProperties]] object.
* Only these properties can be updated: * Only these properties can be updated:
* *
* - [[ConnectionProperties.role]] * - [[ConnectionProperties.role]]
* - [[ConnectionProperties.record]] * - [[ConnectionProperties.record]]
* *
* This method automatically updates the properties of the local affected objects. This means that there is no need to call * This method automatically updates the properties of the local affected objects. This means that there is no need to call
* [[Session.fetch]] or [[OpenVidu.fetch]] to see the changes consequence of the execution of this method applied in the local objects. * [[Session.fetch]] or [[OpenVidu.fetch]] to see the changes consequence of the execution of this method applied in the local objects.
* *
* The affected client will trigger one [ConnectionPropertyChangedEvent](/en/stable/api/openvidu-browser/classes/ConnectionPropertyChangedEvent.html) * The affected client will trigger one [ConnectionPropertyChangedEvent](/en/stable/api/openvidu-browser/classes/ConnectionPropertyChangedEvent.html)
* for each modified property. * for each modified property.
* *
* @param connectionId The [[Connection.connectionId]] of the Connection object to modify * @param connectionId The [[Connection.connectionId]] of the Connection object to modify
* @param connectionProperties A new [[ConnectionProperties]] object with the updated values to apply * @param connectionProperties A new [[ConnectionProperties]] object with the updated values to apply
* *
* @returns A Promise that is resolved to the updated [[Connection]] object if the operation was * @returns A Promise that is resolved to the updated [[Connection]] object if the operation was
* successful and rejected with an Error object if not * successful and rejected with an Error object if not
*/ */

View File

@ -56,7 +56,7 @@ export interface SessionProperties {
customSessionId?: string; customSessionId?: string;
/** /**
* **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" target="_blank" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a> * **This feature is part of OpenVidu Pro tier** <a href="https://docs.openvidu.io/en/stable/openvidu-pro/" style="display: inline-block; background-color: rgb(0, 136, 170); color: white; font-weight: bold; padding: 0px 5px; margin-right: 5px; border-radius: 3px; font-size: 13px; line-height:21px; font-family: Montserrat, sans-serif">PRO</a>
* *
* The Media Node where to host the session. The default option if this property is not defined is the less loaded * The Media Node where to host the session. The default option if this property is not defined is the less loaded
* Media Node at the moment the first user joins the session. This object defines the following properties as Media Node selector: * Media Node at the moment the first user joins the session. This object defines the following properties as Media Node selector:

View File

@ -7,12 +7,15 @@
<body> <body>
<h1>Welcome to OpenVidu</h1> <h1>Welcome to OpenVidu</h1>
<ul> <ul>
<li><strong>OpenVidu Server URL: </strong><span id="rest-api-url"></span> <li>
<small>(consume <a <strong>OpenVidu Server URL: </strong><span id="rest-api-url"></span>
href="https://docs.openvidu.io/en/stable/reference-docs/REST-API/" <small>
target="_blank">REST API</a> in this URL) (consume <a href="https://docs.openvidu.io/en/stable/reference-docs/REST-API/" target="_blank">REST API</a> in this URL)
</small></li> </small>
<li><strong>OpenVidu Dashboard: </strong><span id="dashboard-url"></span></li> </li>
<li>
<strong>OpenVidu Dashboard: </strong><span id="dashboard-url"></span>
</li>
</ul> </ul>
</body> </body>
<script> <script>
@ -25,4 +28,4 @@
+ dashboardUrl + "</a>"; + dashboardUrl + "</a>";
} }
</script> </script>
</html> </html>