From f13bb62a6b97df9d8769dfff3c80fa33558ac70b Mon Sep 17 00:00:00 2001 From: "miguel.rodriguez" Date: Fri, 2 Feb 2018 17:36:48 +0100 Subject: [PATCH 01/50] Added ignored files to gitignore, modified creation of docker images. --- .gitignore | 3 +++ openvidu-server/docker/openvidu-server-kms/Dockerfile | 4 ++-- openvidu-server/docker/openvidu-server-kms/create_image.sh | 6 +++--- openvidu-server/docker/openvidu-server-kms/supervisord.conf | 2 +- openvidu-server/docker/openvidu-server/Dockerfile | 4 ++-- openvidu-server/docker/openvidu-server/create_image.sh | 6 +++--- openvidu-server/docker/openvidu-server/supervisord.conf | 2 +- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index af572e5e..d3a49dd0 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ nbactions.xml .externalToolBuilders *bin/ /.vscode + +.idea/ +*.iml diff --git a/openvidu-server/docker/openvidu-server-kms/Dockerfile b/openvidu-server/docker/openvidu-server-kms/Dockerfile index 3a756bcb..97e1ec10 100644 --- a/openvidu-server/docker/openvidu-server-kms/Dockerfile +++ b/openvidu-server/docker/openvidu-server-kms/Dockerfile @@ -1,5 +1,5 @@ FROM ubuntu:16.04 -MAINTAINER openvidu@gmail.com +MAINTAINER miguel.rodriguez@cocodin.com # Install Kurento Media Server (KMS) RUN echo "deb http://ubuntu.kurento.org xenial kms6" | tee /etc/apt/sources.list.d/kurento.list \ @@ -20,7 +20,7 @@ COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf RUN apt-get update && apt-get install -y supervisor && rm -rf /var/lib/apt/lists/* # Install OpenVidu Server -COPY openvidu-server.jar openvidu-server.jar +COPY openvidu-server-cbx.jar openvidu-server-cbx.jar EXPOSE 8888 EXPOSE 9091 diff --git a/openvidu-server/docker/openvidu-server-kms/create_image.sh b/openvidu-server/docker/openvidu-server-kms/create_image.sh index 2f5c47f5..4e108a7d 100755 --- a/openvidu-server/docker/openvidu-server-kms/create_image.sh +++ b/openvidu-server/docker/openvidu-server-kms/create_image.sh @@ -1,5 +1,5 @@ -cp ../../target/openvidu-server-"$1".jar ./openvidu-server.jar +cp ../../target/openvidu-server-"$1".jar ./openvidu-server-cbx.jar -docker build -t openvidu/openvidu-server-kms . +docker build -t councilbox/server-kms . -rm ./openvidu-server.jar +rm ./openvidu-server-cbx.jar diff --git a/openvidu-server/docker/openvidu-server-kms/supervisord.conf b/openvidu-server/docker/openvidu-server-kms/supervisord.conf index 9e6e62b6..d93c0793 100644 --- a/openvidu-server/docker/openvidu-server-kms/supervisord.conf +++ b/openvidu-server/docker/openvidu-server-kms/supervisord.conf @@ -9,5 +9,5 @@ command=/bin/bash /kms.sh redirect_stderr=true [program:openvidu-server] -command=/bin/bash -c "java -jar /openvidu-server.jar" +command=/bin/bash -c "java -jar /openvidu-server-cbx.jar" redirect_stderr=true \ No newline at end of file diff --git a/openvidu-server/docker/openvidu-server/Dockerfile b/openvidu-server/docker/openvidu-server/Dockerfile index 1c07a8f8..70c42067 100644 --- a/openvidu-server/docker/openvidu-server/Dockerfile +++ b/openvidu-server/docker/openvidu-server/Dockerfile @@ -1,5 +1,5 @@ FROM ubuntu:16.04 -MAINTAINER openvidu@gmail.com +MAINTAINER miguel.rodriguez@cocodin.com # Install Java RUN apt-get update && apt-get install -y openjdk-8-jdk && rm -rf /var/lib/apt/lists/* @@ -10,7 +10,7 @@ COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf RUN apt-get update && apt-get install -y supervisor && rm -rf /var/lib/apt/lists/* # Copy OpenVidu Server -COPY openvidu-server.jar / +COPY openvidu-server-cbx.jar / EXPOSE 8443 EXPOSE 8888 diff --git a/openvidu-server/docker/openvidu-server/create_image.sh b/openvidu-server/docker/openvidu-server/create_image.sh index c9a4057d..d6e3e456 100755 --- a/openvidu-server/docker/openvidu-server/create_image.sh +++ b/openvidu-server/docker/openvidu-server/create_image.sh @@ -1,5 +1,5 @@ -cp ../../target/openvidu-server-"$1".jar ./openvidu-server.jar +cp ../../target/openvidu-server-"$1".jar ./openvidu-server-cbx.jar -docker build -t openvidu/openvidu-server . +docker build -t councilbox/server-java . -rm ./openvidu-server.jar +rm ./openvidu-server-cbx.jar \ No newline at end of file diff --git a/openvidu-server/docker/openvidu-server/supervisord.conf b/openvidu-server/docker/openvidu-server/supervisord.conf index 37dbf9fe..97012361 100644 --- a/openvidu-server/docker/openvidu-server/supervisord.conf +++ b/openvidu-server/docker/openvidu-server/supervisord.conf @@ -5,5 +5,5 @@ pidfile=/var/run/supervisord.pid; loglevel=debug [program:openvidu-server] -command=/bin/bash -c "java -jar /openvidu-server.jar" +command=/bin/bash -c "java -jar /openvidu-server-cbx.jar" redirect_stderr=true From b5a96d3726045fa3f911a7139341392de11e9ec3 Mon Sep 17 00:00:00 2001 From: miguelrcDEV Date: Wed, 7 Feb 2018 17:08:34 +0100 Subject: [PATCH 02/50] Recording set --- .../main/resources/application-ngrok.properties | 2 +- .../src/main/resources/application.properties | 12 ++++++------ openvidu-server/src/main/resources/cbx_cert.jks | Bin 0 -> 3780 bytes 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 openvidu-server/src/main/resources/cbx_cert.jks diff --git a/openvidu-server/src/main/resources/application-ngrok.properties b/openvidu-server/src/main/resources/application-ngrok.properties index 1848760d..619d0374 100644 --- a/openvidu-server/src/main/resources/application-ngrok.properties +++ b/openvidu-server/src/main/resources/application-ngrok.properties @@ -6,5 +6,5 @@ server.address: 0.0.0.0 kms.uris=[\"ws://localhost:8888/kurento\"] -openvidu.secret: MY_SECRET +openvidu.secret: YOUR_SECRET openvidu.publicurl: ngrok \ No newline at end of file diff --git a/openvidu-server/src/main/resources/application.properties b/openvidu-server/src/main/resources/application.properties index 15e57dab..e06e9b2c 100644 --- a/openvidu-server/src/main/resources/application.properties +++ b/openvidu-server/src/main/resources/application.properties @@ -1,15 +1,15 @@ server.port: 8443 server.address: 0.0.0.0 server.ssl.enabled: true -server.ssl.key-store: classpath:openvidu-selfsigned.jks -server.ssl.key-store-password: openvidu +server.ssl.key-store: classpath:cbx_cert.jks +server.ssl.key-store-password: C0uncilbox@2016 server.ssl.key-store-type: JKS -server.ssl.key-alias: openvidu-selfsigned +server.ssl.key-alias: cbx_cert kms.uris=[\"ws://localhost:8888/kurento\"] -openvidu.secret: MY_SECRET +openvidu.secret: YOUR_SECRET openvidu.publicurl: local openvidu.cdr: false -openvidu.recording: false -openvidu.recording.path: /opt/openvidu/recordings +openvidu.recording: true +openvidu.recording.path: /home/recordings openvidu.recording.free-access: false \ No newline at end of file diff --git a/openvidu-server/src/main/resources/cbx_cert.jks b/openvidu-server/src/main/resources/cbx_cert.jks new file mode 100644 index 0000000000000000000000000000000000000000..98933488957b173230934a73df1dcb7a35286eba GIT binary patch literal 3780 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 literal 0 HcmV?d00001 From 4d5d289b6041f4a4a70f84ec73a3ba7c35e3c250 Mon Sep 17 00:00:00 2001 From: miguelrcDEV Date: Thu, 8 Feb 2018 17:48:25 +0100 Subject: [PATCH 03/50] Docker image sh script --- .../main/resources/councilbox_server_kms_docker.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 openvidu-server/src/main/resources/councilbox_server_kms_docker.sh diff --git a/openvidu-server/src/main/resources/councilbox_server_kms_docker.sh b/openvidu-server/src/main/resources/councilbox_server_kms_docker.sh new file mode 100644 index 00000000..5587fbd0 --- /dev/null +++ b/openvidu-server/src/main/resources/councilbox_server_kms_docker.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +command=$(docker run -d -p 8443:8443 --name server-kms \ +-v /var/run/docker.sock:/var/run/docker.sock \ +-v /home/recordings:/home/recordings \ +-e openvidu.recording=true \ +-e openvidu.recording.path=/home/recordings \ +-e openvidu.recording.free-access=true \ +-e openvidu.secret=YOUR_SECRET \ +-e openvidu.publicurl=https://217.182.136.130:8443/ \ +--net="host" \ +councilbox/server-kms:1.7.0) + +echo $command \ No newline at end of file From fa041002844526bce07f73a4656eaf9f1dc263a3 Mon Sep 17 00:00:00 2001 From: miguelRodriguezCrespo Date: Mon, 19 Mar 2018 12:42:31 +0100 Subject: [PATCH 04/50] gitignore changes --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 4b19aeab..4b9c8452 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,7 @@ nbactions.xml */.project */.classpath */.settings/* +.idea/ +log/ +\.vscode/ +*.iml \ No newline at end of file From c0cf7d9d4e2bffbd25b83a76e786243da064193e Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 12:01:51 +0200 Subject: [PATCH 05/50] openvidu-testapp default recording SessionProperties --- .../components/test-apirest/test-apirest.component.html | 8 ++++---- .../app/components/test-apirest/test-apirest.component.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.html b/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.html index 7ba4644d..ecb9a2d8 100644 --- a/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.html +++ b/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.html @@ -16,7 +16,7 @@ - + @@ -28,9 +28,9 @@ diff --git a/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts b/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts index cc80c540..7c6e1bd4 100644 --- a/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts +++ b/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts @@ -29,8 +29,8 @@ export class TestApirestComponent implements OnInit, OnDestroy { recordingModes = ['ALWAYS', 'MANUAL']; selectedRecordingMode = 'MANUAL'; - recordingLayouts = ['BEST_FIT']; - selectedRecordingLayout = 'BEST_FIT'; + defaultRecordingLayouts = ['BEST_FIT']; + selectedDefaultRecordingLayout = 'BEST_FIT'; mediaModes = ['ROUTED']; selectedMediaMode = 'ROUTED'; @@ -72,7 +72,7 @@ export class TestApirestComponent implements OnInit, OnDestroy { this.openviduRestService.getSessionId(this.openviduUrl, this.openviduSecret, new SessionProperties.Builder() .recordingMode(RecordingMode[this.selectedRecordingMode]) - .recordingLayout(RecordingLayout[this.selectedRecordingLayout]) + .defaultRecordingLayout(RecordingLayout[this.selectedDefaultRecordingLayout]) .mediaMode(MediaMode[this.selectedMediaMode]) .build()) .then((sessionId) => { From 6d569ae94e01e4278070c0a8997abbe2d1788ee9 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 12:03:19 +0200 Subject: [PATCH 06/50] openvidu-java-client: defaultRecordingLayout and recordingLayout --- .../io/openvidu/java/client/OpenVidu.java | 2 ++ .../io/openvidu/java/client/Recording.java | 11 +++++++--- .../java/client/RecordingProperties.java | 16 +++++++++++++-- .../java/io/openvidu/java/client/Session.java | 2 +- .../java/client/SessionProperties.java | 20 +++++++++---------- 5 files changed, 35 insertions(+), 16 deletions(-) diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java index 4caf12ec..f1175364 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java @@ -96,6 +96,8 @@ public class OpenVidu { JSONObject json = new JSONObject(); json.put("session", sessionId); json.put("name", properties.name()); + json.put("recordingLayout", + (properties.recordingLayout() != null) ? properties.recordingLayout().name() : ""); StringEntity params = new StringEntity(json.toString()); request.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java index bfddc6f7..88bb5e5d 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java @@ -16,7 +16,6 @@ public class Recording { private Recording.Status status; private String id; - private String name; private String sessionId; private long createdAt; // milliseconds (UNIX Epoch time) private long size = 0; // bytes @@ -24,10 +23,10 @@ public class Recording { private String url; private boolean hasAudio = true; private boolean hasVideo = true; + private RecordingProperties recordingProperties; public Recording(JSONObject json) { this.id = (String) json.get("id"); - this.name = (String) json.get("name"); this.sessionId = (String) json.get("sessionId"); this.createdAt = (long) json.get("createdAt"); this.size = (long) json.get("size"); @@ -36,6 +35,8 @@ public class Recording { this.hasAudio = (boolean) json.get("hasAudio"); this.hasVideo = (boolean) json.get("hasVideo"); this.status = Recording.Status.valueOf((String) json.get("status")); + this.recordingProperties = new RecordingProperties.Builder().name((String) json.get("name")) + .recordingLayout(RecordingLayout.valueOf((String) json.get("layout"))).build(); } public Recording.Status getStatus() { @@ -47,7 +48,11 @@ public class Recording { } public String getName() { - return name; + return this.recordingProperties.name(); + } + + public RecordingLayout getLayout() { + return this.recordingProperties.recordingLayout(); } public String getSessionId() { diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java index 340c745c..f36c0904 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java @@ -3,28 +3,40 @@ package io.openvidu.java.client; public class RecordingProperties { private String name; + private RecordingLayout recordingLayout; public static class Builder { private String name = ""; + private RecordingLayout recordingLayout; public RecordingProperties build() { - return new RecordingProperties(this.name); + return new RecordingProperties(this.name, this.recordingLayout); } public RecordingProperties.Builder name(String name) { this.name = name; return this; } + + public RecordingProperties.Builder recordingLayout(RecordingLayout layout) { + this.recordingLayout = layout; + return this; + } } - protected RecordingProperties(String name) { + protected RecordingProperties(String name, RecordingLayout layout) { this.name = name; + this.recordingLayout = layout; } public String name() { return this.name; } + + public RecordingLayout recordingLayout() { + return this.recordingLayout; + } } diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java index 3617bdc8..65a4d000 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java @@ -44,7 +44,7 @@ public class Session { HttpPost request = new HttpPost(this.urlOpenViduServer + API_SESSIONS); JSONObject json = new JSONObject(); - json.put("recordingLayout", properties.recordingLayout().name()); + json.put("defaultRecordingLayout", properties.defaultRecordingLayout().name()); json.put("recordingMode", properties.recordingMode().name()); json.put("mediaMode", properties.mediaMode().name()); StringEntity params = new StringEntity(json.toString()); diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java index 98ddcc49..e5c54251 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java @@ -4,16 +4,16 @@ public class SessionProperties { private MediaMode mediaMode; private RecordingMode recordingMode; - private RecordingLayout recordingLayout; + private RecordingLayout defaultRecordingLayout; public static class Builder { private MediaMode mediaMode = MediaMode.ROUTED; private RecordingMode recordingMode = RecordingMode.MANUAL; - private RecordingLayout recordingLayout = RecordingLayout.BEST_FIT; + private RecordingLayout defaultRecordingLayout = RecordingLayout.BEST_FIT; public SessionProperties build() { - return new SessionProperties(this.mediaMode, this.recordingMode, this.recordingLayout); + return new SessionProperties(this.mediaMode, this.recordingMode, this.defaultRecordingLayout); } public SessionProperties.Builder mediaMode(MediaMode mediaMode) { @@ -26,8 +26,8 @@ public class SessionProperties { return this; } - public SessionProperties.Builder recordingLayout(RecordingLayout recordingLayout) { - this.recordingLayout = recordingLayout; + public SessionProperties.Builder defaultRecordingLayout(RecordingLayout layout) { + this.defaultRecordingLayout = layout; return this; } @@ -36,13 +36,13 @@ public class SessionProperties { protected SessionProperties() { this.mediaMode = MediaMode.ROUTED; this.recordingMode = RecordingMode.MANUAL; - this.recordingLayout = RecordingLayout.BEST_FIT; + this.defaultRecordingLayout = RecordingLayout.BEST_FIT; } - private SessionProperties(MediaMode mediaMode, RecordingMode recordingMode, RecordingLayout recordingLayout) { + private SessionProperties(MediaMode mediaMode, RecordingMode recordingMode, RecordingLayout layout) { this.mediaMode = mediaMode; this.recordingMode = recordingMode; - this.recordingLayout = recordingLayout; + this.defaultRecordingLayout = layout; } public RecordingMode recordingMode() { @@ -53,8 +53,8 @@ public class SessionProperties { return this.mediaMode; } - public RecordingLayout recordingLayout() { - return this.recordingLayout; + public RecordingLayout defaultRecordingLayout() { + return this.defaultRecordingLayout; } } \ No newline at end of file From b8d6ac5f3e2cfdaa964538bb9e232ddb42e55333 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 12:04:56 +0200 Subject: [PATCH 07/50] openvidu-node-client: defaultRecordingLayout and recordingLayout --- openvidu-node-client/lib/OpenVidu.js | 10 +++++++--- openvidu-node-client/lib/OpenVidu.js.map | 2 +- openvidu-node-client/lib/Session.js | 2 +- openvidu-node-client/lib/Session.js.map | 2 +- openvidu-node-client/lib/index.d.ts | 1 + openvidu-node-client/lib/index.js | 1 + openvidu-node-client/lib/index.js.map | 2 +- openvidu-node-client/src/OpenVidu.ts | 11 ++++++++--- openvidu-node-client/src/Recording.ts | 13 ++++++++++--- openvidu-node-client/src/RecordingProperties.ts | 16 ++++++++++++++-- openvidu-node-client/src/Session.ts | 2 +- openvidu-node-client/src/SessionProperties.ts | 14 +++++++------- openvidu-node-client/src/index.ts | 3 ++- 13 files changed, 55 insertions(+), 24 deletions(-) diff --git a/openvidu-node-client/lib/OpenVidu.js b/openvidu-node-client/lib/OpenVidu.js index 0901d958..de303934 100644 --- a/openvidu-node-client/lib/OpenVidu.js +++ b/openvidu-node-client/lib/OpenVidu.js @@ -34,22 +34,26 @@ var OpenVidu = /** @class */ (function () { var requestBody; if (!!param2) { if (!(typeof param2 === 'string')) { + var properties = param2; requestBody = JSON.stringify({ session: sessionId, - name: param2.name() + name: properties.name(), + recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : '') }); } else { requestBody = JSON.stringify({ session: sessionId, - name: param2 + name: param2, + recordingLayout: '' }); } } else { requestBody = JSON.stringify({ session: sessionId, - name: '' + name: '', + recordingLayout: '' }); } var options = { diff --git a/openvidu-node-client/lib/OpenVidu.js.map b/openvidu-node-client/lib/OpenVidu.js.map index 8f28d561..0783911b 100644 --- a/openvidu-node-client/lib/OpenVidu.js.map +++ b/openvidu-node-client/lib/OpenVidu.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenVidu.js","sourceRoot":"","sources":["../src/OpenVidu.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenVidu.js","sourceRoot":"","sources":["../src/OpenVidu.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,qCAAoC;AAEpC,yCAAwC;AAKxC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7B;IAUE,kBAAoB,iBAAyB,EAAE,MAAc;QAAzC,sBAAiB,GAAjB,iBAAiB,CAAQ;QAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEM,gCAAa,GAApB,UAAqB,UAA8B;QACjD,MAAM,CAAC,IAAI,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAMM,iCAAc,GAArB,UAAsB,SAAiB,EAAE,MAAqC;QAA9E,iBA+DC;QA9DC,MAAM,CAAC,IAAI,OAAO,CAAY,UAAC,OAAO,EAAE,MAAM;YAE5C,IAAI,WAAW,CAAC;YAEhB,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACb,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAM,UAAU,GAAwB,MAAM,CAAC;oBAC/C,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC3B,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;wBACvB,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtF,CAAC,CAAC;gBACL,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC3B,OAAO,EAAE,SAAS;wBAClB,IAAI,EAAE,MAAM;wBACZ,eAAe,EAAE,EAAE;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC3B,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,EAAE;oBACR,eAAe,EAAE,EAAE;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,oBAAoB;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;iBACjD;aACF,CAAA;YACD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACrC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACf,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACZ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,0FAA0F;wBAC1F,OAAO,CAAC,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvB,GAAG,CAAC,GAAG,EAAE,CAAC;QAEZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gCAAa,GAApB,UAAqB,WAAmB;QAAxC,iBAqCC;QApCC,MAAM,CAAC,IAAI,OAAO,CAAY,UAAC,OAAO,EAAE,MAAM;YAE5C,IAAI,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,mBAAmB,GAAG,GAAG,GAAG,WAAW;gBAChF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,mCAAmC;iBACpD;aACF,CAAA;YACD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACrC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACf,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACZ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,0FAA0F;wBAC1F,OAAO,CAAC,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,cAAc;YACd,GAAG,CAAC,GAAG,EAAE,CAAC;QAEZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAAY,GAAnB,UAAoB,WAAmB;QAAvC,iBAqCC;QApCC,MAAM,CAAC,IAAI,OAAO,CAAY,UAAC,OAAO,EAAE,MAAM;YAE5C,IAAI,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,GAAG,GAAG,WAAW;gBACjD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,mCAAmC;iBACpD;aACF,CAAA;YACD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACrC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACf,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACZ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,0FAA0F;wBAC1F,OAAO,CAAC,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,cAAc;YACd,GAAG,CAAC,GAAG,EAAE,CAAC;QAEZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iCAAc,GAArB;QAAA,iBA0CC;QAzCC,MAAM,CAAC,IAAI,OAAO,CAAc,UAAC,OAAO,EAAE,MAAM;YAE9C,IAAI,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,QAAQ,CAAC,cAAc;gBAC7B,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,mCAAmC;iBACpD;aACF,CAAA;YACD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACrC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACf,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACZ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,mHAAmH;wBACnH,IAAI,cAAc,GAAgB,EAAE,CAAC;wBACrC,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;wBAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC9C,cAAc,CAAC,IAAI,CAAC,IAAI,qBAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,CAAC;wBACD,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,cAAc;YACd,GAAG,CAAC,GAAG,EAAE,CAAC;QAEZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kCAAe,GAAtB,UAAuB,WAAmB;QAA1C,iBAqCC;QApCC,MAAM,CAAC,IAAI,OAAO,CAAQ,UAAC,OAAO,EAAE,MAAM;YAExC,IAAI,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,GAAG,GAAG,WAAW;gBACjD,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE;oBACP,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,mCAAmC;iBACpD;aACF,CAAA;YACD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACrC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACf,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACZ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC3B,2DAA2D;wBAC3D,OAAO,CAAC,SAAS,CAAC,CAAC;oBACrB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,cAAc;YACd,GAAG,CAAC,GAAG,EAAE,CAAC;QAEZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,+BAAY,GAApB,UAAqB,MAAc;QACjC,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,qCAAkB,GAA1B;QACE,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,2EAA2E,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC;IAtQuB,uBAAc,GAAW,iBAAiB,CAAC;IAC3C,6BAAoB,GAAW,QAAQ,CAAC;IACxC,4BAAmB,GAAW,OAAO,CAAC;IAsQhE,eAAC;CAAA,AA1QD,IA0QC;AA1QY,4BAAQ"} \ No newline at end of file diff --git a/openvidu-node-client/lib/Session.js b/openvidu-node-client/lib/Session.js index 29fcbb71..66748a54 100644 --- a/openvidu-node-client/lib/Session.js +++ b/openvidu-node-client/lib/Session.js @@ -39,7 +39,7 @@ var Session = /** @class */ (function () { resolve(_this.sessionId); } var requestBody = JSON.stringify({ - 'recordingLayout': _this.properties.recordingLayout(), + 'defaultRecordingLayout': _this.properties.defaultRecordingLayout(), 'recordingMode': _this.properties.recordingMode(), 'mediaMode': _this.properties.mediaMode() }); diff --git a/openvidu-node-client/lib/Session.js.map b/openvidu-node-client/lib/Session.js.map index 22cec1eb..6b8b1f84 100644 --- a/openvidu-node-client/lib/Session.js.map +++ b/openvidu-node-client/lib/Session.js.map @@ -1 +1 @@ -{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAGH,+CAA8C;AAC9C,yDAAwD;AAKxD,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7B;IAQI,iBAAoB,QAAgB,EAAU,IAAY,EAAU,SAAiB,EAAE,UAA8B;QAAjG,aAAQ,GAAR,QAAQ,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAQ;QAH7E,cAAS,GAAW,EAAE,CAAC;QAI3B,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,qCAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;QAC9D,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,CAAC;IACL,CAAC;IAEM,8BAAY,GAAnB;QAAA,iBAiDC;QAhDG,MAAM,CAAC,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;YAEvC,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC7B,iBAAiB,EAAE,KAAI,CAAC,UAAU,CAAC,eAAe,EAAE;gBACpD,eAAe,EAAE,KAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBAChD,WAAW,EAAE,KAAI,CAAC,UAAU,CAAC,SAAS,EAAE;aAC3C,CAAC,CAAC;YAEH,IAAI,OAAO,GAAG;gBACV,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,OAAO,CAAC,YAAY;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;iBACnD;aACJ,CAAA;YACD,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACnC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACb,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACV,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBACzB,2DAA2D;wBAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9B,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,+BAAa,GAApB,UAAqB,YAA2B;QAAhD,iBAsDC;QArDG,MAAM,CAAC,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;YAEvC,IAAI,WAAW,CAAC;YAEhB,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;oBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE;oBAC9B,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE;iBACjC,CAAC,CAAC;YACP,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;oBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,2BAAY,CAAC,SAAS;oBAC9B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAC;YACP,CAAC;YAED,IAAI,OAAO,GAAG;gBACV,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,OAAO,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;iBACnD;aACJ,CAAC;YACF,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACnC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACb,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACV,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBACzB,uDAAuD;wBACvD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,+BAAa,GAApB;QACI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IA3HuB,oBAAY,GAAW,eAAe,CAAC;IACvC,kBAAU,GAAW,aAAa,CAAC;IA4H/D,cAAC;CAAA,AA/HD,IA+HC;AA/HY,0BAAO"} \ No newline at end of file +{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/openvidu-node-client/lib/index.d.ts b/openvidu-node-client/lib/index.d.ts index 5836b2ec..4c5b7166 100644 --- a/openvidu-node-client/lib/index.d.ts +++ b/openvidu-node-client/lib/index.d.ts @@ -7,3 +7,4 @@ export * from './MediaMode'; export * from './RecordingLayout'; export * from './RecordingMode'; export * from './Recording'; +export * from './RecordingProperties'; diff --git a/openvidu-node-client/lib/index.js b/openvidu-node-client/lib/index.js index e10bfdc1..863bf7c8 100644 --- a/openvidu-node-client/lib/index.js +++ b/openvidu-node-client/lib/index.js @@ -12,4 +12,5 @@ __export(require("./MediaMode")); __export(require("./RecordingLayout")); __export(require("./RecordingMode")); __export(require("./Recording")); +__export(require("./RecordingProperties")); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/openvidu-node-client/lib/index.js.map b/openvidu-node-client/lib/index.js.map index 72787873..f2c6de18 100644 --- a/openvidu-node-client/lib/index.js.map +++ b/openvidu-node-client/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gCAA2B;AAC3B,oCAA+B;AAC/B,+BAA0B;AAC1B,yCAAoC;AACpC,oCAA+B;AAC/B,iCAA4B;AAC5B,uCAAkC;AAClC,qCAAgC;AAChC,iCAA4B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gCAA2B;AAC3B,oCAA+B;AAC/B,+BAA0B;AAC1B,yCAAoC;AACpC,oCAA+B;AAC/B,iCAA4B;AAC5B,uCAAkC;AAClC,qCAAgC;AAChC,iCAA4B;AAC5B,2CAAsC"} \ No newline at end of file diff --git a/openvidu-node-client/src/OpenVidu.ts b/openvidu-node-client/src/OpenVidu.ts index 18e0eaa9..33cae3ec 100644 --- a/openvidu-node-client/src/OpenVidu.ts +++ b/openvidu-node-client/src/OpenVidu.ts @@ -19,6 +19,7 @@ import { Session } from "./Session"; import { SessionProperties } from "./SessionProperties"; import { Recording } from "./Recording"; import { RecordingProperties } from "./RecordingProperties"; +import { RecordingLayout } from "./RecordingLayout"; declare const Buffer; let https = require('https'); @@ -53,20 +54,24 @@ export class OpenVidu { if (!!param2) { if (!(typeof param2 === 'string')) { + const properties = param2; requestBody = JSON.stringify({ session: sessionId, - name: (param2).name() + name: properties.name(), + recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : '') }); } else { requestBody = JSON.stringify({ session: sessionId, - name: param2 + name: param2, + recordingLayout: '' }); } } else { requestBody = JSON.stringify({ session: sessionId, - name: '' + name: '', + recordingLayout: '' }); } diff --git a/openvidu-node-client/src/Recording.ts b/openvidu-node-client/src/Recording.ts index fbd29bb0..5654a850 100644 --- a/openvidu-node-client/src/Recording.ts +++ b/openvidu-node-client/src/Recording.ts @@ -15,10 +15,12 @@ * */ +import { RecordingProperties } from "./RecordingProperties"; +import { RecordingLayout } from "./RecordingLayout"; + export class Recording { private id: string; - private name: string; private sessionId: string; private createdAt: number; private size: number = 0; @@ -27,10 +29,10 @@ export class Recording { private hasaudio: boolean = true; private hasvideo: boolean = true; private status: Recording.Status; + private recordingProperties: RecordingProperties; constructor(json: JSON) { this.id = json['id']; - this.name = json['name']; this.sessionId = json['sessionId']; this.createdAt = json['createdAt']; this.size = json['size']; @@ -39,6 +41,7 @@ export class Recording { this.hasaudio = json['hasAudio']; this.hasvideo = json['hasVideo']; this.status = json['status']; + this.recordingProperties = new RecordingProperties.Builder().name(json['name']).recordingLayout(json['layout']).build(); } public getStatus(): Recording.Status { @@ -50,7 +53,11 @@ export class Recording { } public getName(): string { - return this.name; + return this.recordingProperties.name(); + } + + public getLayout(): RecordingLayout { + return this.recordingProperties.recordingLayout(); } public getSessionId(): string { diff --git a/openvidu-node-client/src/RecordingProperties.ts b/openvidu-node-client/src/RecordingProperties.ts index 00b0b2da..a756edcc 100644 --- a/openvidu-node-client/src/RecordingProperties.ts +++ b/openvidu-node-client/src/RecordingProperties.ts @@ -15,28 +15,40 @@ * */ +import { RecordingLayout } from "./RecordingLayout"; + export class RecordingProperties { - constructor(private rName: string) { } + constructor(private rName: string, private recordingLayoutProp: RecordingLayout) { } name(): string { return this.rName; } + recordingLayout(): RecordingLayout { + return this.recordingLayoutProp; + } + } export namespace RecordingProperties { export class Builder { private rName: string = ''; + private recordingLayoutProp: RecordingLayout; build(): RecordingProperties { - return new RecordingProperties(this.rName); + return new RecordingProperties(this.rName, this.recordingLayoutProp); } name(name: string): Builder { this.rName = name; return this; } + + recordingLayout(layout: RecordingLayout): Builder { + this.recordingLayoutProp = layout; + return this; + } }; } \ No newline at end of file diff --git a/openvidu-node-client/src/Session.ts b/openvidu-node-client/src/Session.ts index 1974bb41..bdac0c9c 100644 --- a/openvidu-node-client/src/Session.ts +++ b/openvidu-node-client/src/Session.ts @@ -48,7 +48,7 @@ export class Session { } let requestBody = JSON.stringify({ - 'recordingLayout': this.properties.recordingLayout(), + 'defaultRecordingLayout': this.properties.defaultRecordingLayout(), 'recordingMode': this.properties.recordingMode(), 'mediaMode': this.properties.mediaMode() }); diff --git a/openvidu-node-client/src/SessionProperties.ts b/openvidu-node-client/src/SessionProperties.ts index 0d47ec07..8ab8d083 100644 --- a/openvidu-node-client/src/SessionProperties.ts +++ b/openvidu-node-client/src/SessionProperties.ts @@ -21,7 +21,7 @@ import { RecordingLayout } from "./RecordingLayout"; export class SessionProperties { - constructor(private mediaModeProp: MediaMode, private recordingModeProp: RecordingMode, private recordingLayoutProp: RecordingLayout) { } + constructor(private mediaModeProp: MediaMode, private recordingModeProp: RecordingMode, private defaultRecordingLayoutProp: RecordingLayout) { } mediaMode(): string { return this.mediaModeProp; @@ -31,8 +31,8 @@ export class SessionProperties { return this.recordingModeProp; } - recordingLayout(): RecordingLayout { - return this.recordingLayoutProp; + defaultRecordingLayout(): RecordingLayout { + return this.defaultRecordingLayoutProp; } } @@ -41,10 +41,10 @@ export namespace SessionProperties { private mediaModeProp: MediaMode = MediaMode.ROUTED; private recordingModeProp: RecordingMode = RecordingMode.MANUAL; - private recordingLayoutProp: RecordingLayout = RecordingLayout.BEST_FIT; + private defaultRecordingLayoutProp: RecordingLayout = RecordingLayout.BEST_FIT; build(): SessionProperties { - return new SessionProperties(this.mediaModeProp, this.recordingModeProp, this.recordingLayoutProp); + return new SessionProperties(this.mediaModeProp, this.recordingModeProp, this.defaultRecordingLayoutProp); } mediaMode(mediaMode: MediaMode): Builder { @@ -57,8 +57,8 @@ export namespace SessionProperties { return this; } - recordingLayout(recordingLayout: RecordingLayout): Builder { - this.recordingLayoutProp = recordingLayout; + defaultRecordingLayout(layout: RecordingLayout): Builder { + this.defaultRecordingLayoutProp = layout; return this; } }; diff --git a/openvidu-node-client/src/index.ts b/openvidu-node-client/src/index.ts index 0a5ed785..6df32be9 100644 --- a/openvidu-node-client/src/index.ts +++ b/openvidu-node-client/src/index.ts @@ -6,4 +6,5 @@ export * from './TokenOptions'; export * from './MediaMode'; export * from './RecordingLayout'; export * from './RecordingMode'; -export * from './Recording'; \ No newline at end of file +export * from './Recording'; +export * from './RecordingProperties'; \ No newline at end of file From a228b1242e29641bbf8fdda8fe7bc5dabbc92f3c Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 12:10:06 +0200 Subject: [PATCH 08/50] openvidu-server: added RecordingProperties feature --- .../java/io/openvidu/server/cdr/CDREvent.java | 6 ++ .../kurento/core/KurentoSessionManager.java | 7 ++- .../recording/ComposedRecordingService.java | 18 +++--- .../openvidu/server/recording/Recording.java | 39 ++++++++----- .../server/rest/SessionRestController.java | 56 +++++++++++++------ 5 files changed, 87 insertions(+), 39 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREvent.java b/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREvent.java index 2fbd2212..db9e205d 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREvent.java +++ b/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREvent.java @@ -2,6 +2,7 @@ package io.openvidu.server.cdr; import org.json.simple.JSONObject; +import io.openvidu.java.client.RecordingLayout; import io.openvidu.server.core.MediaOptions; import io.openvidu.server.core.Participant; import io.openvidu.server.recording.Recording; @@ -33,6 +34,7 @@ public class CDREvent implements Comparable { private String name; private Boolean hasAudio; private Boolean hasVideo; + private RecordingLayout layout; public CDREvent(String eventName, CDREvent event) { this(eventName, event.participant, event.sessionId, event.mediaOptions, event.receivingFrom, event.startTime, event.reason); @@ -69,6 +71,7 @@ public class CDREvent implements Comparable { this.size = recording.getSize(); this.hasAudio = recording.hasAudio(); this.hasVideo = recording.hasVideo(); + this.layout = recording.getLayout(); } public CDREvent(String eventName, Participant participant, String sessionId) { @@ -146,6 +149,9 @@ public class CDREvent implements Comparable { if (this.hasVideo != null) { json.put("hasVideo", this.hasVideo); } + if (this.layout != null) { + json.put("layout", this.layout.name()); + } JSONObject root = new JSONObject(); root.put(this.eventName, json); diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java index 493555fd..fffd7d88 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java @@ -20,6 +20,7 @@ import io.openvidu.client.OpenViduException.Code; import io.openvidu.client.internal.ProtocolElements; import io.openvidu.java.client.RecordingLayout; import io.openvidu.java.client.RecordingMode; +import io.openvidu.java.client.RecordingProperties; import io.openvidu.java.client.MediaMode; import io.openvidu.java.client.SessionProperties; import io.openvidu.server.core.SessionManager; @@ -55,7 +56,8 @@ public class KurentoSessionManager extends SessionManager { SessionProperties properties = sessionProperties.get(sessionId); if (properties == null && this.isInsecureParticipant(participant.getParticipantPrivateId())) { properties = new SessionProperties.Builder().mediaMode(MediaMode.ROUTED) - .recordingMode(RecordingMode.ALWAYS).recordingLayout(RecordingLayout.BEST_FIT).build(); + .recordingMode(RecordingMode.ALWAYS).defaultRecordingLayout(RecordingLayout.BEST_FIT) + .build(); } createSession(kcSessionInfo, properties); } @@ -235,7 +237,8 @@ public class KurentoSessionManager extends SessionManager { && session.getActivePublishers() == 0) { // Insecure session recording new Thread(() -> { - recordingService.startRecording(session, null); + recordingService.startRecording(session, new RecordingProperties.Builder().name("") + .recordingLayout(session.getSessionProperties().defaultRecordingLayout()).build()); }).start(); } diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java index bb196ff6..ceb38c84 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java @@ -47,6 +47,7 @@ import com.github.dockerjava.core.command.PullImageResultCallback; import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; +import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.CommandExecutor; import io.openvidu.server.OpenViduServer; import io.openvidu.server.config.OpenviduConfig; @@ -81,19 +82,20 @@ public class ComposedRecordingService { this.dockerClient = DockerClientBuilder.getInstance(config).build(); } - public Recording startRecording(Session session, String name) { + public Recording startRecording(Session session, RecordingProperties properties) { List envs = new ArrayList<>(); String shortSessionId = session.getSessionId().substring(session.getSessionId().lastIndexOf('/') + 1, session.getSessionId().length()); String recordingId = this.getFreeRecordingId(session.getSessionId(), shortSessionId); String secret = openviduConfig.getOpenViduSecret(); - if (name == null || name.isEmpty()) { + if (properties.name() == null || properties.name().isEmpty()) { // No name provided for the recording file - name = recordingId; + properties = new RecordingProperties.Builder().name(recordingId) + .recordingLayout(properties.recordingLayout()).build(); } - Recording recording = new Recording(session.getSessionId(), recordingId, name); + Recording recording = new Recording(session.getSessionId(), recordingId, properties); this.sessionsRecordings.put(session.getSessionId(), recording); this.sessionHandler.setRecordingStarted(session.getSessionId(), recording); @@ -110,14 +112,14 @@ public class ComposedRecordingService { } String location = OpenViduServer.publicUrl.replaceFirst("wss://", ""); - String layoutUrl = session.getSessionProperties().recordingLayout().name().toLowerCase().replaceAll("_", "-"); + String layoutUrl = properties.recordingLayout().name().toLowerCase().replaceAll("_", "-"); envs.add("URL=https://OPENVIDUAPP:" + secret + "@" + location + "/#/layout-" + layoutUrl + "/" + shortSessionId + "/" + secret); envs.add("RESOLUTION=1920x1080"); envs.add("FRAMERATE=30"); envs.add("VIDEO_ID=" + recordingId); - envs.add("VIDEO_NAME=" + name); + envs.add("VIDEO_NAME=" + properties.name()); envs.add("VIDEO_FORMAT=mp4"); envs.add("USER_ID=" + uid); envs.add("RECORDING_JSON=" + recording.toJson().toJSONString()); @@ -128,7 +130,7 @@ public class ComposedRecordingService { String containerId = this.runRecordingContainer(envs, "recording_" + recordingId); - this.waitForVideoFileNotEmpty(name); + this.waitForVideoFileNotEmpty(properties.name()); this.sessionsContainers.put(session.getSessionId(), containerId); @@ -378,7 +380,7 @@ public class ComposedRecordingService { // Cannot delete an active recording return HttpStatus.CONFLICT; } - + String name = getRecordingFromHost(recordingId).getName(); File folder = new File(this.openviduConfig.getOpenViduRecordingPath()); diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java b/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java index 47038181..e49770a1 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java @@ -2,6 +2,9 @@ package io.openvidu.server.recording; import org.json.simple.JSONObject; +import io.openvidu.java.client.RecordingLayout; +import io.openvidu.java.client.RecordingProperties; + public class Recording { public enum Status { @@ -9,14 +12,13 @@ public class Recording { started, // The recording has started and is going on stopped, // The recording has finished OK available, // The recording is available for downloading. This status is reached for all - // stopped recordings if property 'openvidu.recording.free-access' is true + // stopped recordings if property 'openvidu.recording.free-access' is true failed; // The recording has failed } - private Status status; + private Recording.Status status; private String id; - private String name; private String sessionId; private long createdAt; // milliseconds (UNIX Epoch time) private long size = 0; // bytes @@ -24,18 +26,18 @@ public class Recording { private String url; private boolean hasAudio = true; private boolean hasVideo = true; + private RecordingProperties recordingProperties; - public Recording(String sessionId, String id, String name) { + public Recording(String sessionId, String id, RecordingProperties recordingProperties) { this.sessionId = sessionId; this.createdAt = System.currentTimeMillis(); this.id = id; - this.name = name; this.status = Status.started; + this.recordingProperties = recordingProperties; } public Recording(JSONObject json) { this.id = (String) json.get("id"); - this.name = (String) json.get("name"); this.sessionId = (String) json.get("sessionId"); this.createdAt = (long) json.get("createdAt"); this.size = (long) json.get("size"); @@ -44,6 +46,8 @@ public class Recording { this.hasAudio = (boolean) json.get("hasAudio"); this.hasVideo = (boolean) json.get("hasVideo"); this.status = Status.valueOf((String) json.get("status")); + this.recordingProperties = new RecordingProperties.Builder().name((String) json.get("name")) + .recordingLayout(RecordingLayout.valueOf((String) json.get("layout"))).build(); } public Status getStatus() { @@ -62,13 +66,21 @@ public class Recording { this.id = id; } - public String getName() { - return name; - } + public String getName() { + return this.recordingProperties.name(); + } + + public String setName() { + return this.recordingProperties.name(); + } - public void setName(String name) { - this.name = name; - } + public RecordingLayout getLayout() { + return this.recordingProperties.recordingLayout(); + } + + public RecordingLayout setLayout() { + return this.recordingProperties.recordingLayout(); + } public String getSessionId() { return sessionId; @@ -130,7 +142,8 @@ public class Recording { public JSONObject toJson() { JSONObject json = new JSONObject(); json.put("id", this.id); - json.put("name", this.name); + json.put("name", this.recordingProperties.name()); + json.put("layout", this.recordingProperties.recordingLayout().name()); json.put("sessionId", this.sessionId); json.put("createdAt", this.createdAt); json.put("size", this.size); diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java index f5a64834..8903f299 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java @@ -37,6 +37,7 @@ import io.openvidu.client.OpenViduException; import io.openvidu.client.internal.ProtocolElements; import io.openvidu.java.client.RecordingLayout; import io.openvidu.java.client.RecordingMode; +import io.openvidu.java.client.RecordingProperties; import io.openvidu.java.client.MediaMode; import io.openvidu.java.client.SessionProperties; import io.openvidu.server.core.ParticipantRole; @@ -72,7 +73,7 @@ public class SessionRestController { SessionProperties.Builder builder = new SessionProperties.Builder(); if (params != null) { String recordingModeString = (String) params.get("recordingMode"); - String recordingLayoutString = (String) params.get("recordingLayout"); + String defaultRecordingLayoutString = (String) params.get("defaultRecordingLayout"); String mediaModeString = (String) params.get("mediaMode"); try { @@ -80,18 +81,18 @@ public class SessionRestController { RecordingMode recordingMode = RecordingMode.valueOf(recordingModeString); builder = builder.recordingMode(recordingMode); } - if (recordingLayoutString != null) { - RecordingLayout recordingLayout = RecordingLayout.valueOf(recordingLayoutString); - builder = builder.recordingLayout(recordingLayout); + if (defaultRecordingLayoutString != null) { + RecordingLayout defaultRecordingLayout = RecordingLayout.valueOf(defaultRecordingLayoutString); + builder = builder.defaultRecordingLayout(defaultRecordingLayout); } if (mediaModeString != null) { MediaMode mediaMode = MediaMode.valueOf(mediaModeString); builder = builder.mediaMode(mediaMode); } } catch (IllegalArgumentException e) { - return this.generateErrorResponse("RecordingMode " + params.get("recordingMode") + " | " + "RecordingLayout " - + params.get("recordingLayout") + " | " + "MediaMode " + params.get("mediaMode") - + " are not defined", "/api/tokens", HttpStatus.BAD_REQUEST); + return this.generateErrorResponse("RecordingMode " + params.get("recordingMode") + " | " + + "Default RecordingLayout " + params.get("defaultRecordingLayout") + " | " + "MediaMode " + + params.get("mediaMode") + " are not defined", "/api/tokens", HttpStatus.BAD_REQUEST); } } @@ -109,9 +110,20 @@ public class SessionRestController { try { String sessionId = (String) params.get("session"); - ParticipantRole role = ParticipantRole.valueOf((String) params.get("role")); + String roleString = (String) params.get("role"); String metadata = (String) params.get("data"); + ParticipantRole role; + if (roleString != null) { + role = ParticipantRole.valueOf(roleString); + } else { + role = ParticipantRole.PUBLISHER; + } + + if (metadata == null) { + metadata = ""; + } + String token = sessionManager.newToken(sessionId, role, metadata); JSONObject responseJson = new JSONObject(); responseJson.put("id", token); @@ -136,6 +148,7 @@ public class SessionRestController { String sessionId = (String) params.get("session"); String name = (String) params.get("name"); + String recordingLayoutString = (String) params.get("recordingLayout"); if (sessionId == null) { // "session" parameter not found @@ -158,7 +171,18 @@ public class SessionRestController { return new ResponseEntity(HttpStatus.CONFLICT); } - Recording startedRecording = this.recordingService.startRecording(session, name); + RecordingLayout recordingLayout; + if (recordingLayoutString == null || recordingLayoutString.isEmpty()) { + // "recordingLayout" parameter not defined. Use global layout from + // SessionProperties + // (it is always configured as it has RecordingLayout.BEST_FIT as default value) + recordingLayout = session.getSessionProperties().defaultRecordingLayout(); + } else { + recordingLayout = RecordingLayout.valueOf(recordingLayoutString); + } + + Recording startedRecording = this.recordingService.startRecording(session, + new RecordingProperties.Builder().name(name).recordingLayout(recordingLayout).build()); return new ResponseEntity<>(startedRecording.toJson(), HttpStatus.OK); } @@ -184,14 +208,14 @@ public class SessionRestController { // Session is not being recorded return new ResponseEntity(HttpStatus.CONFLICT); } - + Session session = sessionManager.getSession(recording.getSessionId()); - - Recording stoppedRecording = this.recordingService - .stopRecording(session); - - sessionManager.evictParticipant(session.getParticipantByPublicId(ProtocolElements.RECORDER_PARTICIPANT_PUBLICID).getParticipantPrivateId(), "EVICT_RECORDER"); - + + Recording stoppedRecording = this.recordingService.stopRecording(session); + + sessionManager.evictParticipant(session.getParticipantByPublicId(ProtocolElements.RECORDER_PARTICIPANT_PUBLICID) + .getParticipantPrivateId(), "EVICT_RECORDER"); + return new ResponseEntity<>(stoppedRecording.toJson(), HttpStatus.OK); } From fc8c18e0548da8684555c99851fecae69bdd489b Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 15:50:19 +0200 Subject: [PATCH 09/50] openvidu-java-client: custom recording layout --- .../io/openvidu/java/client/OpenVidu.java | 2 ++ .../openvidu/java/client/RecordingLayout.java | 3 +- .../java/client/RecordingProperties.java | 28 +++++++++++++------ .../java/io/openvidu/java/client/Session.java | 5 ++-- .../java/client/SessionProperties.java | 19 +++++++++++-- 5 files changed, 44 insertions(+), 13 deletions(-) diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java index f1175364..febcc86e 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java @@ -98,6 +98,8 @@ public class OpenVidu { json.put("name", properties.name()); json.put("recordingLayout", (properties.recordingLayout() != null) ? properties.recordingLayout().name() : ""); + json.put("customLayout", + (properties.customLayout() != null) ? properties.customLayout() : ""); StringEntity params = new StringEntity(json.toString()); request.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingLayout.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingLayout.java index d66402f2..65b91351 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingLayout.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingLayout.java @@ -4,5 +4,6 @@ public enum RecordingLayout { BEST_FIT, // All the videos are evenly distributed, taking up as much space as possible PICTURE_IN_PICTURE, VERTICAL_PRESENTATION, - HORIZONTAL_PRESENTATION + HORIZONTAL_PRESENTATION, + CUSTOM } diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java index f36c0904..c49a9657 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/RecordingProperties.java @@ -1,42 +1,54 @@ package io.openvidu.java.client; public class RecordingProperties { - + private String name; private RecordingLayout recordingLayout; - + private String customLayout; + public static class Builder { private String name = ""; private RecordingLayout recordingLayout; + private String customLayout; public RecordingProperties build() { - return new RecordingProperties(this.name, this.recordingLayout); + return new RecordingProperties(this.name, this.recordingLayout, this.customLayout); } public RecordingProperties.Builder name(String name) { this.name = name; return this; } - + public RecordingProperties.Builder recordingLayout(RecordingLayout layout) { this.recordingLayout = layout; return this; } + public RecordingProperties.Builder customLayout(String path) { + this.customLayout = path; + return this; + } + } - - protected RecordingProperties(String name, RecordingLayout layout) { + + protected RecordingProperties(String name, RecordingLayout layout, String customLayout) { this.name = name; this.recordingLayout = layout; + this.customLayout = customLayout; } - + public String name() { return this.name; } - + public RecordingLayout recordingLayout() { return this.recordingLayout; } + public String customLayout() { + return this.customLayout; + } + } diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java index 65a4d000..cf23ec96 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/Session.java @@ -44,9 +44,10 @@ public class Session { HttpPost request = new HttpPost(this.urlOpenViduServer + API_SESSIONS); JSONObject json = new JSONObject(); - json.put("defaultRecordingLayout", properties.defaultRecordingLayout().name()); - json.put("recordingMode", properties.recordingMode().name()); json.put("mediaMode", properties.mediaMode().name()); + json.put("recordingMode", properties.recordingMode().name()); + json.put("defaultRecordingLayout", properties.defaultRecordingLayout().name()); + json.put("defaultCustomLayout", properties.defaultCustomLayout()); StringEntity params = new StringEntity(json.toString()); request.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java index e5c54251..9c9e089f 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/SessionProperties.java @@ -5,15 +5,18 @@ public class SessionProperties { private MediaMode mediaMode; private RecordingMode recordingMode; private RecordingLayout defaultRecordingLayout; + private String defaultCustomLayout; public static class Builder { private MediaMode mediaMode = MediaMode.ROUTED; private RecordingMode recordingMode = RecordingMode.MANUAL; private RecordingLayout defaultRecordingLayout = RecordingLayout.BEST_FIT; + private String defaultCustomLayout = ""; public SessionProperties build() { - return new SessionProperties(this.mediaMode, this.recordingMode, this.defaultRecordingLayout); + return new SessionProperties(this.mediaMode, this.recordingMode, this.defaultRecordingLayout, + this.defaultCustomLayout); } public SessionProperties.Builder mediaMode(MediaMode mediaMode) { @@ -31,18 +34,26 @@ public class SessionProperties { return this; } + public SessionProperties.Builder defaultCustomLayout(String path) { + this.defaultCustomLayout = path; + return this; + } + } protected SessionProperties() { this.mediaMode = MediaMode.ROUTED; this.recordingMode = RecordingMode.MANUAL; this.defaultRecordingLayout = RecordingLayout.BEST_FIT; + this.defaultCustomLayout = ""; } - private SessionProperties(MediaMode mediaMode, RecordingMode recordingMode, RecordingLayout layout) { + private SessionProperties(MediaMode mediaMode, RecordingMode recordingMode, RecordingLayout layout, + String defaultCustomLayout) { this.mediaMode = mediaMode; this.recordingMode = recordingMode; this.defaultRecordingLayout = layout; + this.defaultCustomLayout = defaultCustomLayout; } public RecordingMode recordingMode() { @@ -57,4 +68,8 @@ public class SessionProperties { return this.defaultRecordingLayout; } + public String defaultCustomLayout() { + return this.defaultCustomLayout; + } + } \ No newline at end of file From 13b4bf0f3a05382f3e130b73225b2b9f94386f16 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 15:50:56 +0200 Subject: [PATCH 10/50] openvidu-node-client: custom recording layout --- openvidu-node-client/lib/OpenVidu.js | 9 ++++++--- openvidu-node-client/lib/OpenVidu.js.map | 2 +- openvidu-node-client/lib/Session.js | 5 +++-- openvidu-node-client/lib/Session.js.map | 2 +- openvidu-node-client/src/OpenVidu.ts | 9 ++++++--- openvidu-node-client/src/RecordingLayout.ts | 3 ++- openvidu-node-client/src/RecordingProperties.ts | 14 ++++++++++++-- openvidu-node-client/src/Session.ts | 5 +++-- openvidu-node-client/src/SessionProperties.ts | 14 ++++++++++++-- 9 files changed, 46 insertions(+), 17 deletions(-) diff --git a/openvidu-node-client/lib/OpenVidu.js b/openvidu-node-client/lib/OpenVidu.js index de303934..11f721d3 100644 --- a/openvidu-node-client/lib/OpenVidu.js +++ b/openvidu-node-client/lib/OpenVidu.js @@ -38,14 +38,16 @@ var OpenVidu = /** @class */ (function () { requestBody = JSON.stringify({ session: sessionId, name: properties.name(), - recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : '') + recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : ''), + customLayout: (!!properties.customLayout() ? properties.customLayout() : '') }); } else { requestBody = JSON.stringify({ session: sessionId, name: param2, - recordingLayout: '' + recordingLayout: '', + customLayout: '' }); } } @@ -53,7 +55,8 @@ var OpenVidu = /** @class */ (function () { requestBody = JSON.stringify({ session: sessionId, name: '', - recordingLayout: '' + recordingLayout: '', + customLayout: '' }); } var options = { diff --git a/openvidu-node-client/lib/OpenVidu.js.map b/openvidu-node-client/lib/OpenVidu.js.map index 0783911b..46d350c0 100644 --- a/openvidu-node-client/lib/OpenVidu.js.map +++ b/openvidu-node-client/lib/OpenVidu.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenVidu.js","sourceRoot":"","sources":["../src/OpenVidu.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenVidu.js","sourceRoot":"","sources":["../src/OpenVidu.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/openvidu-node-client/lib/Session.js b/openvidu-node-client/lib/Session.js index 66748a54..d237610b 100644 --- a/openvidu-node-client/lib/Session.js +++ b/openvidu-node-client/lib/Session.js @@ -39,9 +39,10 @@ var Session = /** @class */ (function () { resolve(_this.sessionId); } var requestBody = JSON.stringify({ - 'defaultRecordingLayout': _this.properties.defaultRecordingLayout(), + 'mediaMode': _this.properties.mediaMode(), 'recordingMode': _this.properties.recordingMode(), - 'mediaMode': _this.properties.mediaMode() + 'defaultRecordingLayout': _this.properties.defaultRecordingLayout(), + 'defaultCustomLayout': _this.properties.defaultCustomLayout() }); var options = { hostname: _this.hostname, diff --git a/openvidu-node-client/lib/Session.js.map b/openvidu-node-client/lib/Session.js.map index 6b8b1f84..84bdf66a 100644 --- a/openvidu-node-client/lib/Session.js.map +++ b/openvidu-node-client/lib/Session.js.map @@ -1 +1 @@ -{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/openvidu-node-client/src/OpenVidu.ts b/openvidu-node-client/src/OpenVidu.ts index 33cae3ec..f4550b00 100644 --- a/openvidu-node-client/src/OpenVidu.ts +++ b/openvidu-node-client/src/OpenVidu.ts @@ -58,20 +58,23 @@ export class OpenVidu { requestBody = JSON.stringify({ session: sessionId, name: properties.name(), - recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : '') + recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : ''), + customLayout: (!!properties.customLayout() ? properties.customLayout() : '') }); } else { requestBody = JSON.stringify({ session: sessionId, name: param2, - recordingLayout: '' + recordingLayout: '', + customLayout: '' }); } } else { requestBody = JSON.stringify({ session: sessionId, name: '', - recordingLayout: '' + recordingLayout: '', + customLayout: '' }); } diff --git a/openvidu-node-client/src/RecordingLayout.ts b/openvidu-node-client/src/RecordingLayout.ts index 9771e5c9..63a4c292 100644 --- a/openvidu-node-client/src/RecordingLayout.ts +++ b/openvidu-node-client/src/RecordingLayout.ts @@ -19,5 +19,6 @@ export enum RecordingLayout { BEST_FIT = 'BEST_FIT', // All the videos are evenly distributed, taking up as much space as possible PICTURE_IN_PICTURE = 'PICTURE_IN_PICTURE', VERTICAL_PRESENTATION = 'VERTICAL_PRESENTATION', - HORIZONTAL_PRESENTATION = 'VERTICAL_PRESENTATION' + HORIZONTAL_PRESENTATION = 'VERTICAL_PRESENTATION', + CUSTOM = 'CUSTOM' } diff --git a/openvidu-node-client/src/RecordingProperties.ts b/openvidu-node-client/src/RecordingProperties.ts index a756edcc..ab7ab644 100644 --- a/openvidu-node-client/src/RecordingProperties.ts +++ b/openvidu-node-client/src/RecordingProperties.ts @@ -19,7 +19,7 @@ import { RecordingLayout } from "./RecordingLayout"; export class RecordingProperties { - constructor(private rName: string, private recordingLayoutProp: RecordingLayout) { } + constructor(private rName: string, private recordingLayoutProp: RecordingLayout, private customLayoutProp: string) { } name(): string { return this.rName; @@ -29,6 +29,10 @@ export class RecordingProperties { return this.recordingLayoutProp; } + customLayout(): string { + return this.customLayoutProp; + } + } export namespace RecordingProperties { @@ -36,9 +40,10 @@ export namespace RecordingProperties { private rName: string = ''; private recordingLayoutProp: RecordingLayout; + private customLayoutProp: string; build(): RecordingProperties { - return new RecordingProperties(this.rName, this.recordingLayoutProp); + return new RecordingProperties(this.rName, this.recordingLayoutProp, this.customLayoutProp); } name(name: string): Builder { @@ -50,5 +55,10 @@ export namespace RecordingProperties { this.recordingLayoutProp = layout; return this; } + + customLayout(path: string): Builder { + this.customLayoutProp = path; + return this; + } }; } \ No newline at end of file diff --git a/openvidu-node-client/src/Session.ts b/openvidu-node-client/src/Session.ts index bdac0c9c..d402b494 100644 --- a/openvidu-node-client/src/Session.ts +++ b/openvidu-node-client/src/Session.ts @@ -48,9 +48,10 @@ export class Session { } let requestBody = JSON.stringify({ - 'defaultRecordingLayout': this.properties.defaultRecordingLayout(), + 'mediaMode': this.properties.mediaMode(), 'recordingMode': this.properties.recordingMode(), - 'mediaMode': this.properties.mediaMode() + 'defaultRecordingLayout': this.properties.defaultRecordingLayout(), + 'defaultCustomLayout': this.properties.defaultCustomLayout() }); let options = { diff --git a/openvidu-node-client/src/SessionProperties.ts b/openvidu-node-client/src/SessionProperties.ts index 8ab8d083..366aa653 100644 --- a/openvidu-node-client/src/SessionProperties.ts +++ b/openvidu-node-client/src/SessionProperties.ts @@ -21,7 +21,7 @@ import { RecordingLayout } from "./RecordingLayout"; export class SessionProperties { - constructor(private mediaModeProp: MediaMode, private recordingModeProp: RecordingMode, private defaultRecordingLayoutProp: RecordingLayout) { } + constructor(private mediaModeProp: MediaMode, private recordingModeProp: RecordingMode, private defaultRecordingLayoutProp: RecordingLayout, private defaultCustomLayoutProp: string) { } mediaMode(): string { return this.mediaModeProp; @@ -34,6 +34,10 @@ export class SessionProperties { defaultRecordingLayout(): RecordingLayout { return this.defaultRecordingLayoutProp; } + + defaultCustomLayout(): string { + return this.defaultCustomLayoutProp; + } } export namespace SessionProperties { @@ -42,9 +46,10 @@ export namespace SessionProperties { private mediaModeProp: MediaMode = MediaMode.ROUTED; private recordingModeProp: RecordingMode = RecordingMode.MANUAL; private defaultRecordingLayoutProp: RecordingLayout = RecordingLayout.BEST_FIT; + private defaultCustomLayoutProp: string = ''; build(): SessionProperties { - return new SessionProperties(this.mediaModeProp, this.recordingModeProp, this.defaultRecordingLayoutProp); + return new SessionProperties(this.mediaModeProp, this.recordingModeProp, this.defaultRecordingLayoutProp, this.defaultCustomLayoutProp); } mediaMode(mediaMode: MediaMode): Builder { @@ -61,5 +66,10 @@ export namespace SessionProperties { this.defaultRecordingLayoutProp = layout; return this; } + + defaultCustomLayout(path: string): Builder { + this.defaultCustomLayoutProp = path; + return this; + } }; } From 43894c215b281f0b300aacaef5e9f0a4b26211c7 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Fri, 20 Apr 2018 15:53:20 +0200 Subject: [PATCH 11/50] openvidu-server: custom recording layout --- .../server/config/OpenviduConfig.java | 15 +++++- .../server/config/SecurityConfig.java | 54 ++++++++++--------- .../kurento/core/KurentoSessionManager.java | 6 ++- .../recording/ComposedRecordingService.java | 34 +++++++++--- .../server/recording/LayoutsHttpHandler.java | 27 ++++++++++ .../openvidu/server/recording/Recording.java | 24 ++++----- .../server/rest/SessionRestController.java | 22 ++++++-- ...itional-spring-configuration-metadata.json | 5 ++ .../src/main/resources/application.properties | 3 +- .../test-apirest/test-apirest.component.ts | 2 +- 10 files changed, 133 insertions(+), 59 deletions(-) create mode 100644 openvidu-server/src/main/java/io/openvidu/server/recording/LayoutsHttpHandler.java diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java index 82299eb5..cb294e6a 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java @@ -32,6 +32,9 @@ public class OpenviduConfig { @Value("${openvidu.recording.notification}") String openviduRecordingNotification; + @Value("${openvidu.recording.custom-layout}") + String openviduRecordingCustomLayout; + @Value("${openvidu.recording.version}") String openviduRecordingVersion; @@ -68,12 +71,20 @@ public class OpenviduConfig { return this.openviduRecordingPath; } + public void setOpenViduRecordingPath(String recordingPath) { + this.openviduRecordingPath = recordingPath; + } + public boolean getOpenViduRecordingPublicAccess() { return this.openviduRecordingPublicAccess; } + + public String getOpenviduRecordingCustomLayout() { + return this.openviduRecordingCustomLayout; + } - public void setOpenViduRecordingPath(String recordingPath) { - this.openviduRecordingPath = recordingPath; + public void setOpenViduRecordingCustomLayout(String recordingCustomLayout) { + this.openviduRecordingCustomLayout = recordingCustomLayout; } public String getFinalUrl() { diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java index 5b8fbe6d..92d37bff 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java @@ -11,38 +11,40 @@ import org.springframework.security.config.http.SessionCreationPolicy; @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { - + @Autowired OpenviduConfig openviduConf; - + @Override protected void configure(HttpSecurity http) throws Exception { + + // Security for API REST ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry conf = http.csrf().disable() - .authorizeRequests() - .antMatchers(HttpMethod.POST, "/api/sessions").authenticated() - .antMatchers(HttpMethod.POST, "/api/tokens").authenticated() - .antMatchers(HttpMethod.POST, "/api/recordings/start").authenticated() - .antMatchers(HttpMethod.POST, "/api/recordings/stop").authenticated() - .antMatchers(HttpMethod.GET, "/api/recordings").authenticated() - .antMatchers(HttpMethod.GET, "/api/recordings/**").authenticated() - .antMatchers(HttpMethod.DELETE, "/api/recordings/**").authenticated() - .antMatchers(HttpMethod.GET, "/config/**").authenticated() - .antMatchers("/").authenticated(); - - if (openviduConf.getOpenViduRecordingPublicAccess()) { - conf = conf.antMatchers("/recordings/*").permitAll(); - } else { - conf = conf.antMatchers("/recordings/*").authenticated(); - } - - conf.and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) - .and().httpBasic(); + .authorizeRequests().antMatchers(HttpMethod.POST, "/api/sessions").authenticated() + .antMatchers(HttpMethod.POST, "/api/tokens").authenticated() + .antMatchers(HttpMethod.POST, "/api/recordings/start").authenticated() + .antMatchers(HttpMethod.POST, "/api/recordings/stop").authenticated() + .antMatchers(HttpMethod.GET, "/api/recordings").authenticated() + .antMatchers(HttpMethod.GET, "/api/recordings/**").authenticated() + .antMatchers(HttpMethod.DELETE, "/api/recordings/**").authenticated() + .antMatchers(HttpMethod.GET, "/config/**").authenticated().antMatchers("/").authenticated(); + + // Security for layouts + conf.antMatchers("/layouts/*").authenticated(); + + // Security for recorded videos + if (openviduConf.getOpenViduRecordingPublicAccess()) { + conf = conf.antMatchers("/recordings/*").permitAll(); + } else { + conf = conf.antMatchers("/recordings/*").authenticated(); + } + + conf.and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().httpBasic(); } - + @Autowired - public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { - auth.inMemoryAuthentication() - .withUser("OPENVIDUAPP").password(openviduConf.getOpenViduSecret()).roles("ADMIN"); - } + public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { + auth.inMemoryAuthentication().withUser("OPENVIDUAPP").password(openviduConf.getOpenViduSecret()).roles("ADMIN"); + } } \ No newline at end of file diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java index fffd7d88..b184fef8 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java @@ -237,8 +237,10 @@ public class KurentoSessionManager extends SessionManager { && session.getActivePublishers() == 0) { // Insecure session recording new Thread(() -> { - recordingService.startRecording(session, new RecordingProperties.Builder().name("") - .recordingLayout(session.getSessionProperties().defaultRecordingLayout()).build()); + recordingService.startRecording(session, + new RecordingProperties.Builder().name("") + .recordingLayout(session.getSessionProperties().defaultRecordingLayout()) + .customLayout(session.getSessionProperties().defaultCustomLayout()).build()); }).start(); } diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java index ceb38c84..2062c8fa 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/ComposedRecordingService.java @@ -47,6 +47,7 @@ import com.github.dockerjava.core.command.PullImageResultCallback; import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; +import io.openvidu.java.client.RecordingLayout; import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.CommandExecutor; import io.openvidu.server.OpenViduServer; @@ -87,12 +88,11 @@ public class ComposedRecordingService { String shortSessionId = session.getSessionId().substring(session.getSessionId().lastIndexOf('/') + 1, session.getSessionId().length()); String recordingId = this.getFreeRecordingId(session.getSessionId(), shortSessionId); - String secret = openviduConfig.getOpenViduSecret(); if (properties.name() == null || properties.name().isEmpty()) { // No name provided for the recording file properties = new RecordingProperties.Builder().name(recordingId) - .recordingLayout(properties.recordingLayout()).build(); + .recordingLayout(properties.recordingLayout()).customLayout(properties.customLayout()).build(); } Recording recording = new Recording(session.getSessionId(), recordingId, properties); @@ -111,11 +111,9 @@ public class ComposedRecordingService { e.printStackTrace(); } - String location = OpenViduServer.publicUrl.replaceFirst("wss://", ""); - String layoutUrl = properties.recordingLayout().name().toLowerCase().replaceAll("_", "-"); + String layoutUrl = this.getLayoutUrl(recording, shortSessionId); - envs.add("URL=https://OPENVIDUAPP:" + secret + "@" + location + "/#/layout-" + layoutUrl + "/" + shortSessionId - + "/" + secret); + envs.add("URL=" + layoutUrl); envs.add("RESOLUTION=1920x1080"); envs.add("FRAMERATE=30"); envs.add("VIDEO_ID=" + recordingId); @@ -125,8 +123,7 @@ public class ComposedRecordingService { envs.add("RECORDING_JSON=" + recording.toJson().toJSONString()); log.info(recording.toJson().toJSONString()); - log.debug("Recorder connecting to url {}", - "https://OPENVIDUAPP:" + secret + "@localhost:8443/#/layout-best-fit/" + shortSessionId + "/" + secret); + log.debug("Recorder connecting to url {}", layoutUrl); String containerId = this.runRecordingContainer(envs, "recording_" + recordingId); @@ -456,6 +453,27 @@ public class ComposedRecordingService { throw e; } + private String getLayoutUrl(Recording recording, String shortSessionId) { + String secret = openviduConfig.getOpenViduSecret(); + String location = OpenViduServer.publicUrl.replaceFirst("wss://", ""); + String layout, finalUrl; + + if (RecordingLayout.CUSTOM.equals(recording.getLayout())) { + layout = recording.getCustomLayout(); + layout = layout.startsWith("/") ? layout.substring(1) : layout; + layout = layout.endsWith("/") ? layout.substring(0, layout.length() - 1) : layout; + layout += "/index.html"; + finalUrl = "https://OPENVIDUAPP:" + secret + "@" + location + "/layouts/custom/" + layout + "/?sessionId=" + + shortSessionId + "&secret=" + secret; + } else { + layout = recording.getLayout().name().toLowerCase().replaceAll("_", "-"); + finalUrl = "https://OPENVIDUAPP:" + secret + "@" + location + "/#/layout-" + layout + "/" + shortSessionId + + "/" + secret; + } + + return finalUrl; + } + public void setRecordingVersion(String version) { this.IMAGE_TAG = version; } diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/LayoutsHttpHandler.java b/openvidu-server/src/main/java/io/openvidu/server/recording/LayoutsHttpHandler.java new file mode 100644 index 00000000..e1b30bad --- /dev/null +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/LayoutsHttpHandler.java @@ -0,0 +1,27 @@ +package io.openvidu.server.recording; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +import io.openvidu.server.config.OpenviduConfig; + +@Configuration +public class LayoutsHttpHandler extends WebMvcConfigurerAdapter { + + @Autowired + OpenviduConfig openviduConfig; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + + String customLayoutsPath = openviduConfig.getOpenviduRecordingCustomLayout(); + customLayoutsPath = customLayoutsPath.endsWith("/") ? customLayoutsPath : customLayoutsPath + "/"; + + openviduConfig.setOpenViduRecordingCustomLayout(customLayoutsPath); + + registry.addResourceHandler("/layouts/custom/**").addResourceLocations("file:" + customLayoutsPath); + } + +} \ No newline at end of file diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java b/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java index e49770a1..5dc9c4bb 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/Recording.java @@ -66,21 +66,17 @@ public class Recording { this.id = id; } - public String getName() { - return this.recordingProperties.name(); - } - - public String setName() { - return this.recordingProperties.name(); - } + public String getName() { + return this.recordingProperties.name(); + } - public RecordingLayout getLayout() { - return this.recordingProperties.recordingLayout(); - } - - public RecordingLayout setLayout() { - return this.recordingProperties.recordingLayout(); - } + public RecordingLayout getLayout() { + return this.recordingProperties.recordingLayout(); + } + + public String getCustomLayout() { + return this.recordingProperties.customLayout(); + } public String getSessionId() { return sessionId; diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java index 8903f299..3b103bee 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java @@ -72,23 +72,34 @@ public class SessionRestController { SessionProperties.Builder builder = new SessionProperties.Builder(); if (params != null) { + String mediaModeString = (String) params.get("mediaMode"); String recordingModeString = (String) params.get("recordingMode"); String defaultRecordingLayoutString = (String) params.get("defaultRecordingLayout"); - String mediaModeString = (String) params.get("mediaMode"); + String defaultCustomLayout = (String) params.get("defaultCustomLayout"); try { + + // Safe parameter retrieval. Default values if not defined if (recordingModeString != null) { RecordingMode recordingMode = RecordingMode.valueOf(recordingModeString); builder = builder.recordingMode(recordingMode); + } else { + builder = builder.recordingMode(RecordingMode.MANUAL); } if (defaultRecordingLayoutString != null) { RecordingLayout defaultRecordingLayout = RecordingLayout.valueOf(defaultRecordingLayoutString); builder = builder.defaultRecordingLayout(defaultRecordingLayout); + } else { + builder.defaultRecordingLayout(RecordingLayout.BEST_FIT); } if (mediaModeString != null) { MediaMode mediaMode = MediaMode.valueOf(mediaModeString); builder = builder.mediaMode(mediaMode); + } else { + builder = builder.mediaMode(MediaMode.ROUTED); } + builder = builder.defaultCustomLayout((defaultCustomLayout != null) ? defaultCustomLayout : ""); + } catch (IllegalArgumentException e) { return this.generateErrorResponse("RecordingMode " + params.get("recordingMode") + " | " + "Default RecordingLayout " + params.get("defaultRecordingLayout") + " | " + "MediaMode " @@ -120,9 +131,7 @@ public class SessionRestController { role = ParticipantRole.PUBLISHER; } - if (metadata == null) { - metadata = ""; - } + metadata = (metadata != null) ? metadata : ""; String token = sessionManager.newToken(sessionId, role, metadata); JSONObject responseJson = new JSONObject(); @@ -149,6 +158,7 @@ public class SessionRestController { String sessionId = (String) params.get("session"); String name = (String) params.get("name"); String recordingLayoutString = (String) params.get("recordingLayout"); + String customLayout = (String) params.get("customLayout"); if (sessionId == null) { // "session" parameter not found @@ -180,9 +190,11 @@ public class SessionRestController { } else { recordingLayout = RecordingLayout.valueOf(recordingLayoutString); } + + customLayout = (customLayout == null) ? session.getSessionProperties().defaultCustomLayout() : customLayout; Recording startedRecording = this.recordingService.startRecording(session, - new RecordingProperties.Builder().name(name).recordingLayout(recordingLayout).build()); + new RecordingProperties.Builder().name(name).recordingLayout(recordingLayout).customLayout(customLayout).build()); return new ResponseEntity<>(startedRecording.toJson(), HttpStatus.OK); } diff --git a/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json index ccd5b5c1..be58f0ef 100644 --- a/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -39,6 +39,11 @@ "type": "java.lang.String", "description": "Which users will receive a notfication (client events 'recordingStarted' and 'recordingStopped') when recording starts and stops: 'none', 'publisher_moderator', 'all'" }, + { + "name": "openvidu.recording.custom-layout", + "type": "java.lang.String", + "description": "Where should OpenVidu Server look for custom recording layouts" + }, { "name": "openvidu.recording.version", "type": "java.lang.String", diff --git a/openvidu-server/src/main/resources/application.properties b/openvidu-server/src/main/resources/application.properties index 60eabdc1..8ccd6efd 100644 --- a/openvidu-server/src/main/resources/application.properties +++ b/openvidu-server/src/main/resources/application.properties @@ -17,4 +17,5 @@ openvidu.cdr: false openvidu.recording: false openvidu.recording.path: /opt/openvidu/recordings openvidu.recording.public-access: false -openvidu.recording.notification: publisher_moderator \ No newline at end of file +openvidu.recording.notification: publisher_moderator +openvidu.recording.custom-layout: /opt/openvidu/custom-layout \ No newline at end of file diff --git a/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts b/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts index 7c6e1bd4..3dca9934 100644 --- a/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts +++ b/openvidu-testapp/src/app/components/test-apirest/test-apirest.component.ts @@ -29,7 +29,7 @@ export class TestApirestComponent implements OnInit, OnDestroy { recordingModes = ['ALWAYS', 'MANUAL']; selectedRecordingMode = 'MANUAL'; - defaultRecordingLayouts = ['BEST_FIT']; + defaultRecordingLayouts = ['BEST_FIT', 'CUSTOM']; selectedDefaultRecordingLayout = 'BEST_FIT'; mediaModes = ['ROUTED']; From 60948f76076721d6cfa679f691579160caa002f2 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Mon, 23 Apr 2018 11:06:16 +0200 Subject: [PATCH 12/50] openvidu-node-client: builder pattern to object pattern --- openvidu-node-client/lib/OpenVidu.d.ts | 8 +-- openvidu-node-client/lib/OpenVidu.js | 23 +++---- openvidu-node-client/lib/OpenVidu.js.map | 2 +- openvidu-node-client/lib/OpenViduRole.js | 2 +- openvidu-node-client/lib/OpenViduRole.js.map | 2 +- openvidu-node-client/lib/Session.d.ts | 2 +- openvidu-node-client/lib/Session.js | 38 +++++------ openvidu-node-client/lib/Session.js.map | 2 +- openvidu-node-client/lib/TokenOptions.d.ts | 20 ++---- openvidu-node-client/lib/TokenOptions.js | 38 ----------- openvidu-node-client/lib/TokenOptions.js.map | 2 +- openvidu-node-client/lib/index.js | 3 - openvidu-node-client/lib/index.js.map | 2 +- openvidu-node-client/src/OpenVidu.ts | 63 +++++++++--------- openvidu-node-client/src/OpenViduRole.ts | 6 +- openvidu-node-client/src/Recording.ts | 20 +++--- .../src/RecordingProperties.ts | 50 ++------------- openvidu-node-client/src/Session.ts | 59 ++++++++--------- openvidu-node-client/src/SessionProperties.ts | 64 +++---------------- openvidu-node-client/src/TokenOptions.ts | 41 ++---------- 20 files changed, 135 insertions(+), 312 deletions(-) diff --git a/openvidu-node-client/lib/OpenVidu.d.ts b/openvidu-node-client/lib/OpenVidu.d.ts index 037eecef..20ce14c6 100644 --- a/openvidu-node-client/lib/OpenVidu.d.ts +++ b/openvidu-node-client/lib/OpenVidu.d.ts @@ -1,7 +1,7 @@ -import { Session } from "./Session"; -import { SessionProperties } from "./SessionProperties"; -import { Recording } from "./Recording"; -import { RecordingProperties } from "./RecordingProperties"; +import { Session } from './Session'; +import { SessionProperties } from './SessionProperties'; +import { Recording } from './Recording'; +import { RecordingProperties } from './RecordingProperties'; export declare class OpenVidu { private urlOpenViduServer; private static readonly API_RECORDINGS; diff --git a/openvidu-node-client/lib/OpenVidu.js b/openvidu-node-client/lib/OpenVidu.js index 11f721d3..c94dadb3 100644 --- a/openvidu-node-client/lib/OpenVidu.js +++ b/openvidu-node-client/lib/OpenVidu.js @@ -37,9 +37,9 @@ var OpenVidu = /** @class */ (function () { var properties = param2; requestBody = JSON.stringify({ session: sessionId, - name: properties.name(), - recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : ''), - customLayout: (!!properties.customLayout() ? properties.customLayout() : '') + name: !!properties.name ? properties.name : '', + recordingLayout: !!properties.recordingLayout ? properties.recordingLayout : '', + customLayout: !!properties.customLayout ? properties.customLayout : '' }); } else { @@ -127,7 +127,7 @@ var OpenVidu = /** @class */ (function () { req.on('error', function (e) { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); }; @@ -164,7 +164,7 @@ var OpenVidu = /** @class */ (function () { req.on('error', function (e) { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); }; @@ -191,9 +191,10 @@ var OpenVidu = /** @class */ (function () { if (res.statusCode === 200) { // SUCCESS response from openvidu-server (JSON arrays of recordings in JSON format). Resolve list of new recordings var recordingArray = []; - var responseItems = JSON.parse(body)['items']; - for (var i = 0; i < responseItems.length; i++) { - recordingArray.push(new Recording_1.Recording(responseItems[i])); + var responseItems = JSON.parse(body).items; + for (var _i = 0, responseItems_1 = responseItems; _i < responseItems_1.length; _i++) { + var item = responseItems_1[_i]; + recordingArray.push(new Recording_1.Recording(item)); } resolve(recordingArray); } @@ -206,7 +207,7 @@ var OpenVidu = /** @class */ (function () { req.on('error', function (e) { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); }; @@ -243,7 +244,7 @@ var OpenVidu = /** @class */ (function () { req.on('error', function (e) { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); }; @@ -256,7 +257,7 @@ var OpenVidu = /** @class */ (function () { this.hostname = this.urlOpenViduServer.split(':')[1].replace(/\//g, ''); this.port = parseInt(this.urlOpenViduServer.split(':')[2].replace(/\//g, '')); } - else if (urlSplitted.length == 2) { + else if (urlSplitted.length === 2) { this.hostname = this.urlOpenViduServer.split(':')[0].replace(/\//g, ''); this.port = parseInt(this.urlOpenViduServer.split(':')[1].replace(/\//g, '')); } diff --git a/openvidu-node-client/lib/OpenVidu.js.map b/openvidu-node-client/lib/OpenVidu.js.map index 46d350c0..5bb75245 100644 --- a/openvidu-node-client/lib/OpenVidu.js.map +++ b/openvidu-node-client/lib/OpenVidu.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenVidu.js","sourceRoot":"","sources":["../src/OpenVidu.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenVidu.js","sourceRoot":"","sources":["../src/OpenVidu.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/openvidu-node-client/lib/OpenViduRole.js b/openvidu-node-client/lib/OpenViduRole.js index 4f9418c9..2f67d5ef 100644 --- a/openvidu-node-client/lib/OpenViduRole.js +++ b/openvidu-node-client/lib/OpenViduRole.js @@ -20,6 +20,6 @@ var OpenViduRole; (function (OpenViduRole) { OpenViduRole["SUBSCRIBER"] = "SUBSCRIBER"; OpenViduRole["PUBLISHER"] = "PUBLISHER"; - OpenViduRole["MODERATOR"] = "MODERATOR"; // SUBSCRIBER + PUBLIHSER permissions + can force unpublish() and disconnect() over a third-party stream or user + OpenViduRole["MODERATOR"] = "MODERATOR"; })(OpenViduRole = exports.OpenViduRole || (exports.OpenViduRole = {})); //# sourceMappingURL=OpenViduRole.js.map \ No newline at end of file diff --git a/openvidu-node-client/lib/OpenViduRole.js.map b/openvidu-node-client/lib/OpenViduRole.js.map index a290d1f0..8bfa043d 100644 --- a/openvidu-node-client/lib/OpenViduRole.js.map +++ b/openvidu-node-client/lib/OpenViduRole.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenViduRole.js","sourceRoot":"","sources":["../src/OpenViduRole.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,IAAY,YAIX;AAJD,WAAY,YAAY;IACvB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA,CAAE,gHAAgH;AAC1I,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB"} \ No newline at end of file +{"version":3,"file":"OpenViduRole.js","sourceRoot":"","sources":["../src/OpenViduRole.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,IAAY,YAIX;AAJD,WAAY,YAAY;IACvB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;AACxB,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB"} \ No newline at end of file diff --git a/openvidu-node-client/lib/Session.d.ts b/openvidu-node-client/lib/Session.d.ts index 8b35c511..506df0e9 100644 --- a/openvidu-node-client/lib/Session.d.ts +++ b/openvidu-node-client/lib/Session.d.ts @@ -1,5 +1,5 @@ -import { TokenOptions } from './TokenOptions'; import { SessionProperties } from './SessionProperties'; +import { TokenOptions } from './TokenOptions'; export declare class Session { private hostname; private port; diff --git a/openvidu-node-client/lib/Session.js b/openvidu-node-client/lib/Session.js index d237610b..4189df76 100644 --- a/openvidu-node-client/lib/Session.js +++ b/openvidu-node-client/lib/Session.js @@ -16,17 +16,19 @@ * */ Object.defineProperty(exports, "__esModule", { value: true }); +var MediaMode_1 = require("./MediaMode"); var OpenViduRole_1 = require("./OpenViduRole"); -var SessionProperties_1 = require("./SessionProperties"); +var RecordingLayout_1 = require("./RecordingLayout"); +var RecordingMode_1 = require("./RecordingMode"); var https = require('https'); var Session = /** @class */ (function () { function Session(hostname, port, basicAuth, properties) { this.hostname = hostname; this.port = port; this.basicAuth = basicAuth; - this.sessionId = ""; - if (properties == null) { - this.properties = new SessionProperties_1.SessionProperties.Builder().build(); + this.sessionId = ''; + if (properties === null) { + this.properties = {}; } else { this.properties = properties; @@ -39,10 +41,10 @@ var Session = /** @class */ (function () { resolve(_this.sessionId); } var requestBody = JSON.stringify({ - 'mediaMode': _this.properties.mediaMode(), - 'recordingMode': _this.properties.recordingMode(), - 'defaultRecordingLayout': _this.properties.defaultRecordingLayout(), - 'defaultCustomLayout': _this.properties.defaultCustomLayout() + mediaMode: !!_this.properties.mediaMode ? _this.properties.mediaMode : MediaMode_1.MediaMode.ROUTED, + recordingMode: !!_this.properties.recordingMode ? _this.properties.recordingMode : RecordingMode_1.RecordingMode.MANUAL, + defaultRecordingLayout: !!_this.properties.defaultRecordingLayout ? _this.properties.defaultRecordingLayout : RecordingLayout_1.RecordingLayout.BEST_FIT, + defaultCustomLayout: !!_this.properties.defaultCustomLayout ? _this.properties.defaultCustomLayout : '' }); var options = { hostname: _this.hostname, @@ -84,21 +86,11 @@ var Session = /** @class */ (function () { Session.prototype.generateToken = function (tokenOptions) { var _this = this; return new Promise(function (resolve, reject) { - var requestBody; - if (!!tokenOptions) { - requestBody = JSON.stringify({ - 'session': _this.sessionId, - 'role': tokenOptions.getRole(), - 'data': tokenOptions.getData() - }); - } - else { - requestBody = JSON.stringify({ - 'session': _this.sessionId, - 'role': OpenViduRole_1.OpenViduRole.PUBLISHER, - 'data': '' - }); - } + var requestBody = JSON.stringify({ + session: _this.sessionId, + role: !!tokenOptions.role ? tokenOptions.role : OpenViduRole_1.OpenViduRole.PUBLISHER, + data: !!tokenOptions.data ? tokenOptions.data : '' + }); var options = { hostname: _this.hostname, port: _this.port, diff --git a/openvidu-node-client/lib/Session.js.map b/openvidu-node-client/lib/Session.js.map index 84bdf66a..765f221c 100644 --- a/openvidu-node-client/lib/Session.js.map +++ b/openvidu-node-client/lib/Session.js.map @@ -1 +1 @@ -{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,yCAAwC;AACxC,+CAA8C;AAC9C,qDAAoD;AACpD,iDAAgD;AAOhD,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B;IAQI,iBAAoB,QAAgB,EAAU,IAAY,EAAU,SAAiB,EAAE,UAA8B;QAAjG,aAAQ,GAAR,QAAQ,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAQ;QAH7E,cAAS,GAAG,EAAE,CAAC;QAInB,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,CAAC;IACL,CAAC;IAEM,8BAAY,GAAnB;QAAA,iBAmDC;QAlDG,MAAM,CAAC,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;YAEvC,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAED,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,SAAS,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAS,CAAC,MAAM;gBACrF,aAAa,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,6BAAa,CAAC,MAAM;gBACrG,sBAAsB,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,iCAAe,CAAC,QAAQ;gBACpI,mBAAmB,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;aACxG,CAAC,CAAC;YAEH,IAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,OAAO,CAAC,YAAY;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;iBACnD;aACJ,CAAC;YAEF,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACnC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACb,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACV,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBACzB,2DAA2D;wBAC3D,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,+BAAa,GAApB,UAAqB,YAA2B;QAAhD,iBA6CC;QA5CG,MAAM,CAAC,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;YAEvC,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,OAAO,EAAE,KAAI,CAAC,SAAS;gBACvB,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,2BAAY,CAAC,SAAS;gBACtE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;aACrD,CAAC,CAAC;YAEH,IAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,KAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,OAAO,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,eAAe,EAAE,KAAI,CAAC,SAAS;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;iBACnD;aACJ,CAAC;YAEF,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG;gBACnC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,CAAC;oBACb,uCAAuC;oBACvC,IAAI,IAAI,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACV,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;wBACzB,uDAAuD;wBACvD,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,2DAA2D;wBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,+BAAa,GAApB;QACI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IApHuB,oBAAY,GAAG,eAAe,CAAC;IAC/B,kBAAU,GAAG,aAAa,CAAC;IAqHvD,cAAC;CAAA,AAxHD,IAwHC;AAxHY,0BAAO"} \ No newline at end of file diff --git a/openvidu-node-client/lib/TokenOptions.d.ts b/openvidu-node-client/lib/TokenOptions.d.ts index e3a4b907..123f7a7b 100644 --- a/openvidu-node-client/lib/TokenOptions.d.ts +++ b/openvidu-node-client/lib/TokenOptions.d.ts @@ -1,17 +1,5 @@ -import { OpenViduRole } from "./OpenViduRole"; -export declare class TokenOptions { - private data; - private role; - constructor(data: string, role: OpenViduRole); - getData(): string; - getRole(): OpenViduRole; -} -export declare namespace TokenOptions { - class Builder { - private dataProp; - private roleProp; - build(): TokenOptions; - data(data: string): Builder; - role(role: OpenViduRole): Builder; - } +import { OpenViduRole } from './OpenViduRole'; +export interface TokenOptions { + data: string; + role: OpenViduRole; } diff --git a/openvidu-node-client/lib/TokenOptions.js b/openvidu-node-client/lib/TokenOptions.js index 1fd58176..78d0ef9c 100644 --- a/openvidu-node-client/lib/TokenOptions.js +++ b/openvidu-node-client/lib/TokenOptions.js @@ -16,42 +16,4 @@ * */ Object.defineProperty(exports, "__esModule", { value: true }); -var OpenViduRole_1 = require("./OpenViduRole"); -var TokenOptions = /** @class */ (function () { - function TokenOptions(data, role) { - this.data = data; - this.role = role; - } - TokenOptions.prototype.getData = function () { - return this.data; - }; - TokenOptions.prototype.getRole = function () { - return this.role; - }; - return TokenOptions; -}()); -exports.TokenOptions = TokenOptions; -(function (TokenOptions) { - var Builder = /** @class */ (function () { - function Builder() { - this.dataProp = ''; - this.roleProp = OpenViduRole_1.OpenViduRole.PUBLISHER; - } - Builder.prototype.build = function () { - return new TokenOptions(this.dataProp, this.roleProp); - }; - Builder.prototype.data = function (data) { - this.dataProp = data; - return this; - }; - Builder.prototype.role = function (role) { - this.roleProp = role; - return this; - }; - return Builder; - }()); - TokenOptions.Builder = Builder; - ; -})(TokenOptions = exports.TokenOptions || (exports.TokenOptions = {})); -exports.TokenOptions = TokenOptions; //# sourceMappingURL=TokenOptions.js.map \ No newline at end of file diff --git a/openvidu-node-client/lib/TokenOptions.js.map b/openvidu-node-client/lib/TokenOptions.js.map index d1f3c91f..c6d102b7 100644 --- a/openvidu-node-client/lib/TokenOptions.js.map +++ b/openvidu-node-client/lib/TokenOptions.js.map @@ -1 +1 @@ -{"version":3,"file":"TokenOptions.js","sourceRoot":"","sources":["../src/TokenOptions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,+CAA8C;AAE9C;IAEI,sBAAoB,IAAY,EAAU,IAAkB;QAAxC,SAAI,GAAJ,IAAI,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAc;IAAI,CAAC;IAEjE,8BAAO,GAAP;QACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,8BAAO,GAAP;QACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACL,mBAAC;AAAD,CAAC,AAXD,IAWC;AAXY,oCAAY;AAazB,WAAiB,YAAY;IACzB;QAAA;YAEY,aAAQ,GAAW,EAAE,CAAC;YACtB,aAAQ,GAAiB,2BAAY,CAAC,SAAS,CAAC;QAgB5D,CAAC;QAdG,uBAAK,GAAL;YACI,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,sBAAI,GAAJ,UAAK,IAAY;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QAED,sBAAI,GAAJ,UAAK,IAAkB;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QAEL,cAAC;IAAD,CAAC,AAnBD,IAmBC;IAnBY,oBAAO,UAmBnB,CAAA;IAAA,CAAC;AACN,CAAC,EArBgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAqB5B;AAlCY,oCAAY"} \ No newline at end of file +{"version":3,"file":"TokenOptions.js","sourceRoot":"","sources":["../src/TokenOptions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"} \ No newline at end of file diff --git a/openvidu-node-client/lib/index.js b/openvidu-node-client/lib/index.js index 863bf7c8..79232b2e 100644 --- a/openvidu-node-client/lib/index.js +++ b/openvidu-node-client/lib/index.js @@ -6,11 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); __export(require("./OpenVidu")); __export(require("./OpenViduRole")); __export(require("./Session")); -__export(require("./SessionProperties")); -__export(require("./TokenOptions")); __export(require("./MediaMode")); __export(require("./RecordingLayout")); __export(require("./RecordingMode")); __export(require("./Recording")); -__export(require("./RecordingProperties")); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/openvidu-node-client/lib/index.js.map b/openvidu-node-client/lib/index.js.map index f2c6de18..98aad725 100644 --- a/openvidu-node-client/lib/index.js.map +++ b/openvidu-node-client/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gCAA2B;AAC3B,oCAA+B;AAC/B,+BAA0B;AAC1B,yCAAoC;AACpC,oCAA+B;AAC/B,iCAA4B;AAC5B,uCAAkC;AAClC,qCAAgC;AAChC,iCAA4B;AAC5B,2CAAsC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gCAA2B;AAC3B,oCAA+B;AAC/B,+BAA0B;AAG1B,iCAA4B;AAC5B,uCAAkC;AAClC,qCAAgC;AAChC,iCAA4B"} \ No newline at end of file diff --git a/openvidu-node-client/src/OpenVidu.ts b/openvidu-node-client/src/OpenVidu.ts index f4550b00..bfdee37d 100644 --- a/openvidu-node-client/src/OpenVidu.ts +++ b/openvidu-node-client/src/OpenVidu.ts @@ -15,14 +15,14 @@ * */ -import { Session } from "./Session"; -import { SessionProperties } from "./SessionProperties"; -import { Recording } from "./Recording"; -import { RecordingProperties } from "./RecordingProperties"; -import { RecordingLayout } from "./RecordingLayout"; +import { Session } from './Session'; +import { SessionProperties } from './SessionProperties'; +import { Recording } from './Recording'; +import { RecordingLayout } from './RecordingLayout'; +import { RecordingProperties } from './RecordingProperties'; declare const Buffer; -let https = require('https'); +const https = require('https'); export class OpenVidu { @@ -57,9 +57,9 @@ export class OpenVidu { const properties = param2; requestBody = JSON.stringify({ session: sessionId, - name: properties.name(), - recordingLayout: (!!properties.recordingLayout() ? properties.recordingLayout() : ''), - customLayout: (!!properties.customLayout() ? properties.customLayout() : '') + name: !!properties.name ? properties.name : '', + recordingLayout: !!properties.recordingLayout ? properties.recordingLayout : '', + customLayout: !!properties.customLayout ? properties.customLayout : '' }); } else { requestBody = JSON.stringify({ @@ -78,7 +78,7 @@ export class OpenVidu { }); } - let options = { + const options = { hostname: this.hostname, port: this.port, path: OpenVidu.API_RECORDINGS + OpenVidu.API_RECORDINGS_START, @@ -88,7 +88,8 @@ export class OpenVidu { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(requestBody) } - } + }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -118,7 +119,7 @@ export class OpenVidu { public stopRecording(recordingId: string): Promise { return new Promise((resolve, reject) => { - let options = { + const options = { hostname: this.hostname, port: this.port, path: OpenVidu.API_RECORDINGS + OpenVidu.API_RECORDINGS_STOP + '/' + recordingId, @@ -127,7 +128,8 @@ export class OpenVidu { 'Authorization': this.basicAuth, 'Content-Type': 'application/x-www-form-urlencoded' } - } + }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -148,7 +150,7 @@ export class OpenVidu { req.on('error', (e) => { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); @@ -157,7 +159,7 @@ export class OpenVidu { public getRecording(recordingId: string): Promise { return new Promise((resolve, reject) => { - let options = { + const options = { hostname: this.hostname, port: this.port, path: OpenVidu.API_RECORDINGS + '/' + recordingId, @@ -166,7 +168,8 @@ export class OpenVidu { 'Authorization': this.basicAuth, 'Content-Type': 'application/x-www-form-urlencoded' } - } + }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -187,7 +190,7 @@ export class OpenVidu { req.on('error', (e) => { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); @@ -196,7 +199,7 @@ export class OpenVidu { public listRecordings(): Promise { return new Promise((resolve, reject) => { - let options = { + const options = { hostname: this.hostname, port: this.port, path: OpenVidu.API_RECORDINGS, @@ -205,7 +208,8 @@ export class OpenVidu { 'Authorization': this.basicAuth, 'Content-Type': 'application/x-www-form-urlencoded' } - } + }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -215,10 +219,10 @@ export class OpenVidu { res.on('end', () => { if (res.statusCode === 200) { // SUCCESS response from openvidu-server (JSON arrays of recordings in JSON format). Resolve list of new recordings - let recordingArray: Recording[] = []; - let responseItems = JSON.parse(body)['items']; - for (let i = 0; i < responseItems.length; i++) { - recordingArray.push(new Recording(responseItems[i])); + const recordingArray: Recording[] = []; + const responseItems = JSON.parse(body).items; + for (const item of responseItems) { + recordingArray.push(new Recording(item)); } resolve(recordingArray); } else { @@ -231,7 +235,7 @@ export class OpenVidu { req.on('error', (e) => { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); @@ -240,7 +244,7 @@ export class OpenVidu { public deleteRecording(recordingId: string): Promise { return new Promise((resolve, reject) => { - let options = { + const options = { hostname: this.hostname, port: this.port, path: OpenVidu.API_RECORDINGS + '/' + recordingId, @@ -249,7 +253,8 @@ export class OpenVidu { 'Authorization': this.basicAuth, 'Content-Type': 'application/x-www-form-urlencoded' } - } + }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -270,7 +275,7 @@ export class OpenVidu { req.on('error', (e) => { reject(new Error(e)); }); - //req.write(); + // req.write(); req.end(); }); @@ -281,11 +286,11 @@ export class OpenVidu { } private setHostnameAndPort(): void { - let urlSplitted = this.urlOpenViduServer.split(':'); + const urlSplitted = this.urlOpenViduServer.split(':'); if (urlSplitted.length === 3) { // URL has format: http:// + hostname + :port this.hostname = this.urlOpenViduServer.split(':')[1].replace(/\//g, ''); this.port = parseInt(this.urlOpenViduServer.split(':')[2].replace(/\//g, '')); - } else if (urlSplitted.length == 2) { // URL has format: hostname + :port + } else if (urlSplitted.length === 2) { // URL has format: hostname + :port this.hostname = this.urlOpenViduServer.split(':')[0].replace(/\//g, ''); this.port = parseInt(this.urlOpenViduServer.split(':')[1].replace(/\//g, '')); } else { diff --git a/openvidu-node-client/src/OpenViduRole.ts b/openvidu-node-client/src/OpenViduRole.ts index c68c898d..ba28c93d 100644 --- a/openvidu-node-client/src/OpenViduRole.ts +++ b/openvidu-node-client/src/OpenViduRole.ts @@ -16,7 +16,7 @@ */ export enum OpenViduRole { - SUBSCRIBER = 'SUBSCRIBER', // Can subscribe to published streams of other users - PUBLISHER = 'PUBLISHER', // SUBSCRIBER permissions + can subscribe to published streams of other users and publish their own streams - MODERATOR = 'MODERATOR' // SUBSCRIBER + PUBLIHSER permissions + can force unpublish() and disconnect() over a third-party stream or user + SUBSCRIBER = 'SUBSCRIBER', // Can subscribe to published streams of other users + PUBLISHER = 'PUBLISHER', // SUBSCRIBER permissions + can subscribe to published streams of other users and publish their own streams + MODERATOR = 'MODERATOR', // SUBSCRIBER + PUBLIHSER permissions + can force unpublish() and disconnect() over a third-party stream or user } \ No newline at end of file diff --git a/openvidu-node-client/src/Recording.ts b/openvidu-node-client/src/Recording.ts index 5654a850..35ec1969 100644 --- a/openvidu-node-client/src/Recording.ts +++ b/openvidu-node-client/src/Recording.ts @@ -15,22 +15,23 @@ * */ -import { RecordingProperties } from "./RecordingProperties"; -import { RecordingLayout } from "./RecordingLayout"; +import { RecordingLayout } from './RecordingLayout'; +import { RecordingProperties } from './RecordingProperties'; export class Recording { private id: string; private sessionId: string; private createdAt: number; - private size: number = 0; - private duration: number = 0; + private size = 0; + private duration = 0; private url: string; - private hasaudio: boolean = true; - private hasvideo: boolean = true; + private hasaudio = true; + private hasvideo = true; private status: Recording.Status; private recordingProperties: RecordingProperties; + /* tslint:disable:no-string-literal */ constructor(json: JSON) { this.id = json['id']; this.sessionId = json['sessionId']; @@ -41,8 +42,9 @@ export class Recording { this.hasaudio = json['hasAudio']; this.hasvideo = json['hasVideo']; this.status = json['status']; - this.recordingProperties = new RecordingProperties.Builder().name(json['name']).recordingLayout(json['layout']).build(); + this.recordingProperties = { name: json['name'], recordingLayout: json['layout'] }; } + /* tslint:enable:no-string-literal */ public getStatus(): Recording.Status { return this.status; @@ -53,11 +55,11 @@ export class Recording { } public getName(): string { - return this.recordingProperties.name(); + return this.recordingProperties.name; } public getLayout(): RecordingLayout { - return this.recordingProperties.recordingLayout(); + return this.recordingProperties.recordingLayout; } public getSessionId(): string { diff --git a/openvidu-node-client/src/RecordingProperties.ts b/openvidu-node-client/src/RecordingProperties.ts index ab7ab644..96c39f64 100644 --- a/openvidu-node-client/src/RecordingProperties.ts +++ b/openvidu-node-client/src/RecordingProperties.ts @@ -15,50 +15,10 @@ * */ -import { RecordingLayout } from "./RecordingLayout"; +import { RecordingLayout } from './RecordingLayout'; -export class RecordingProperties { - - constructor(private rName: string, private recordingLayoutProp: RecordingLayout, private customLayoutProp: string) { } - - name(): string { - return this.rName; - } - - recordingLayout(): RecordingLayout { - return this.recordingLayoutProp; - } - - customLayout(): string { - return this.customLayoutProp; - } - -} - -export namespace RecordingProperties { - export class Builder { - - private rName: string = ''; - private recordingLayoutProp: RecordingLayout; - private customLayoutProp: string; - - build(): RecordingProperties { - return new RecordingProperties(this.rName, this.recordingLayoutProp, this.customLayoutProp); - } - - name(name: string): Builder { - this.rName = name; - return this; - } - - recordingLayout(layout: RecordingLayout): Builder { - this.recordingLayoutProp = layout; - return this; - } - - customLayout(path: string): Builder { - this.customLayoutProp = path; - return this; - } - }; +export interface RecordingProperties { + name?: string; + recordingLayout?: RecordingLayout; + customLayout?: string; } \ No newline at end of file diff --git a/openvidu-node-client/src/Session.ts b/openvidu-node-client/src/Session.ts index d402b494..994d19ba 100644 --- a/openvidu-node-client/src/Session.ts +++ b/openvidu-node-client/src/Session.ts @@ -15,26 +15,29 @@ * */ -import { TokenOptions } from './TokenOptions'; +import { MediaMode } from './MediaMode'; import { OpenViduRole } from './OpenViduRole'; +import { RecordingLayout } from './RecordingLayout'; +import { RecordingMode } from './RecordingMode'; import { SessionProperties } from './SessionProperties'; +import { TokenOptions } from './TokenOptions'; declare const Buffer; declare const require; -let https = require('https'); +const https = require('https'); export class Session { - private static readonly API_SESSIONS: string = '/api/sessions'; - private static readonly API_TOKENS: string = '/api/tokens'; + private static readonly API_SESSIONS = '/api/sessions'; + private static readonly API_TOKENS = '/api/tokens'; - private sessionId: string = ""; + private sessionId = ''; private properties: SessionProperties; constructor(private hostname: string, private port: number, private basicAuth: string, properties?: SessionProperties) { - if (properties == null) { - this.properties = new SessionProperties.Builder().build(); + if (properties === null) { + this.properties = {}; } else { this.properties = properties; } @@ -47,14 +50,14 @@ export class Session { resolve(this.sessionId); } - let requestBody = JSON.stringify({ - 'mediaMode': this.properties.mediaMode(), - 'recordingMode': this.properties.recordingMode(), - 'defaultRecordingLayout': this.properties.defaultRecordingLayout(), - 'defaultCustomLayout': this.properties.defaultCustomLayout() + const requestBody = JSON.stringify({ + mediaMode: !!this.properties.mediaMode ? this.properties.mediaMode : MediaMode.ROUTED, + recordingMode: !!this.properties.recordingMode ? this.properties.recordingMode : RecordingMode.MANUAL, + defaultRecordingLayout: !!this.properties.defaultRecordingLayout ? this.properties.defaultRecordingLayout : RecordingLayout.BEST_FIT, + defaultCustomLayout: !!this.properties.defaultCustomLayout ? this.properties.defaultCustomLayout : '' }); - let options = { + const options = { hostname: this.hostname, port: this.port, path: Session.API_SESSIONS, @@ -64,7 +67,8 @@ export class Session { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(requestBody) } - } + }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -74,7 +78,7 @@ export class Session { res.on('end', () => { if (res.statusCode === 200) { // SUCCESS response from openvidu-server. Resolve sessionId - let parsed = JSON.parse(body); + const parsed = JSON.parse(body); this.sessionId = parsed.id; resolve(parsed.id); } else { @@ -95,23 +99,13 @@ export class Session { public generateToken(tokenOptions?: TokenOptions): Promise { return new Promise((resolve, reject) => { - let requestBody; + const requestBody = JSON.stringify({ + session: this.sessionId, + role: !!tokenOptions.role ? tokenOptions.role : OpenViduRole.PUBLISHER, + data: !!tokenOptions.data ? tokenOptions.data : '' + }); - if (!!tokenOptions) { - requestBody = JSON.stringify({ - 'session': this.sessionId, - 'role': tokenOptions.getRole(), - 'data': tokenOptions.getData() - }); - } else { - requestBody = JSON.stringify({ - 'session': this.sessionId, - 'role': OpenViduRole.PUBLISHER, - 'data': '' - }); - } - - let options = { + const options = { hostname: this.hostname, port: this.port, path: Session.API_TOKENS, @@ -122,6 +116,7 @@ export class Session { 'Content-Length': Buffer.byteLength(requestBody) } }; + const req = https.request(options, (res) => { let body = ''; res.on('data', (d) => { @@ -131,7 +126,7 @@ export class Session { res.on('end', () => { if (res.statusCode === 200) { // SUCCESS response from openvidu-server. Resolve token - let parsed = JSON.parse(body); + const parsed = JSON.parse(body); resolve(parsed.id); } else { // ERROR response from openvidu-server. Resolve HTTP status diff --git a/openvidu-node-client/src/SessionProperties.ts b/openvidu-node-client/src/SessionProperties.ts index 366aa653..fc905694 100644 --- a/openvidu-node-client/src/SessionProperties.ts +++ b/openvidu-node-client/src/SessionProperties.ts @@ -15,61 +15,13 @@ * */ -import { MediaMode } from "./MediaMode"; -import { RecordingMode } from "./RecordingMode"; -import { RecordingLayout } from "./RecordingLayout"; +import { MediaMode } from './MediaMode'; +import { RecordingLayout } from './RecordingLayout'; +import { RecordingMode } from './RecordingMode'; -export class SessionProperties { - - constructor(private mediaModeProp: MediaMode, private recordingModeProp: RecordingMode, private defaultRecordingLayoutProp: RecordingLayout, private defaultCustomLayoutProp: string) { } - - mediaMode(): string { - return this.mediaModeProp; - } - - recordingMode(): RecordingMode { - return this.recordingModeProp; - } - - defaultRecordingLayout(): RecordingLayout { - return this.defaultRecordingLayoutProp; - } - - defaultCustomLayout(): string { - return this.defaultCustomLayoutProp; - } -} - -export namespace SessionProperties { - export class Builder { - - private mediaModeProp: MediaMode = MediaMode.ROUTED; - private recordingModeProp: RecordingMode = RecordingMode.MANUAL; - private defaultRecordingLayoutProp: RecordingLayout = RecordingLayout.BEST_FIT; - private defaultCustomLayoutProp: string = ''; - - build(): SessionProperties { - return new SessionProperties(this.mediaModeProp, this.recordingModeProp, this.defaultRecordingLayoutProp, this.defaultCustomLayoutProp); - } - - mediaMode(mediaMode: MediaMode): Builder { - this.mediaModeProp = mediaMode; - return this; - } - - recordingMode(recordingMode: RecordingMode): Builder { - this.recordingModeProp = recordingMode; - return this; - } - - defaultRecordingLayout(layout: RecordingLayout): Builder { - this.defaultRecordingLayoutProp = layout; - return this; - } - - defaultCustomLayout(path: string): Builder { - this.defaultCustomLayoutProp = path; - return this; - } - }; +export interface SessionProperties { + mediaMode?: MediaMode; + recordingMode?: RecordingMode; + defaultRecordingLayout?: RecordingLayout; + defaultCustomLayout?: string; } diff --git a/openvidu-node-client/src/TokenOptions.ts b/openvidu-node-client/src/TokenOptions.ts index a2f5bcb7..72ea5cff 100644 --- a/openvidu-node-client/src/TokenOptions.ts +++ b/openvidu-node-client/src/TokenOptions.ts @@ -15,40 +15,9 @@ * */ -import { OpenViduRole } from "./OpenViduRole"; +import { OpenViduRole } from './OpenViduRole'; -export class TokenOptions { - - constructor(private data: string, private role: OpenViduRole) { } - - getData(): string { - return this.data; - } - - getRole(): OpenViduRole { - return this.role; - } -} - -export namespace TokenOptions { - export class Builder { - - private dataProp: string = ''; - private roleProp: OpenViduRole = OpenViduRole.PUBLISHER; - - build(): TokenOptions { - return new TokenOptions(this.dataProp, this.roleProp); - } - - data(data: string): Builder { - this.dataProp = data; - return this; - } - - role(role: OpenViduRole): Builder { - this.roleProp = role; - return this; - } - - }; -} +export interface TokenOptions { + data: string; + role: OpenViduRole; +} \ No newline at end of file From fadf19cfb046c7b209e9d44ebba6f9fa0c330723 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Mon, 23 Apr 2018 11:07:31 +0200 Subject: [PATCH 13/50] openvidu-node-client: tslint and typedoc --- openvidu-node-client/.vscode/settings.json | 8 + openvidu-node-client/config/tslint.json | 154 ++++ openvidu-node-client/config/typedoc.js | 25 + openvidu-node-client/docs/assets/css/main.css | 865 ++++++++++++++++++ .../docs/assets/css/main.css.map | 7 + .../docs/assets/images/icons.png | Bin 0 -> 9487 bytes .../docs/assets/images/icons@2x.png | Bin 0 -> 27740 bytes .../docs/assets/images/widgets.png | Bin 0 -> 480 bytes .../docs/assets/images/widgets@2x.png | Bin 0 -> 855 bytes openvidu-node-client/docs/assets/js/main.js | 5 + openvidu-node-client/docs/assets/js/search.js | 3 + .../docs/classes/openvidu.html | 447 +++++++++ .../docs/classes/recording.html | 492 ++++++++++ .../docs/classes/session.html | 330 +++++++ .../docs/enums/mediamode.html | 237 +++++ .../docs/enums/openvidurole.html | 251 +++++ .../docs/enums/recording.status.html | 323 +++++++ .../docs/enums/recordinglayout.html | 279 ++++++ .../docs/enums/recordingmode.html | 237 +++++ openvidu-node-client/docs/globals.html | 260 ++++++ openvidu-node-client/docs/index.html | 200 ++++ .../docs/interfaces/recordingproperties.html | 259 ++++++ .../docs/interfaces/sessionproperties.html | 273 ++++++ .../docs/interfaces/tokenoptions.html | 245 +++++ openvidu-node-client/package.json | 11 +- openvidu-node-client/tsconfig.json | 1 + 26 files changed, 4908 insertions(+), 4 deletions(-) create mode 100644 openvidu-node-client/.vscode/settings.json create mode 100644 openvidu-node-client/config/tslint.json create mode 100644 openvidu-node-client/config/typedoc.js create mode 100644 openvidu-node-client/docs/assets/css/main.css create mode 100644 openvidu-node-client/docs/assets/css/main.css.map create mode 100644 openvidu-node-client/docs/assets/images/icons.png create mode 100644 openvidu-node-client/docs/assets/images/icons@2x.png create mode 100644 openvidu-node-client/docs/assets/images/widgets.png create mode 100644 openvidu-node-client/docs/assets/images/widgets@2x.png create mode 100644 openvidu-node-client/docs/assets/js/main.js create mode 100644 openvidu-node-client/docs/assets/js/search.js create mode 100644 openvidu-node-client/docs/classes/openvidu.html create mode 100644 openvidu-node-client/docs/classes/recording.html create mode 100644 openvidu-node-client/docs/classes/session.html create mode 100644 openvidu-node-client/docs/enums/mediamode.html create mode 100644 openvidu-node-client/docs/enums/openvidurole.html create mode 100644 openvidu-node-client/docs/enums/recording.status.html create mode 100644 openvidu-node-client/docs/enums/recordinglayout.html create mode 100644 openvidu-node-client/docs/enums/recordingmode.html create mode 100644 openvidu-node-client/docs/globals.html create mode 100644 openvidu-node-client/docs/index.html create mode 100644 openvidu-node-client/docs/interfaces/recordingproperties.html create mode 100644 openvidu-node-client/docs/interfaces/sessionproperties.html create mode 100644 openvidu-node-client/docs/interfaces/tokenoptions.html diff --git a/openvidu-node-client/.vscode/settings.json b/openvidu-node-client/.vscode/settings.json new file mode 100644 index 00000000..9ac96731 --- /dev/null +++ b/openvidu-node-client/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "editor.formatOnSave": false, + "[typescript]": { + "editor.formatOnSave": true + }, + "tslint.configFile": "config/tslint.json", + "tslint.enable": true +} \ No newline at end of file diff --git a/openvidu-node-client/config/tslint.json b/openvidu-node-client/config/tslint.json new file mode 100644 index 00000000..2f1e9bc7 --- /dev/null +++ b/openvidu-node-client/config/tslint.json @@ -0,0 +1,154 @@ +{ + "extends": "tslint:recommended", + "rules": { + "array-type": [ + true, + "array" + ], + "ban-types": { + "options": [ + [ + "Object", + "Avoid using the `Object` type. Did you mean `object`?" + ], + [ + "Function", + "Avoid using the `Function` type. Prefer a specific function type, like `() => void`, or use `ts.AnyFunction`." + ], + [ + "Boolean", + "Avoid using the `Boolean` type. Did you mean `boolean`?" + ], + [ + "Number", + "Avoid using the `Number` type. Did you mean `number`?" + ], + [ + "String", + "Avoid using the `String` type. Did you mean `string`?" + ] + ] + }, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": [ + true, + "ignore-same-line" + ], + "indent": [ + true, + "spaces", + 4 + ], + "interface-name": [ + true, + "never-prefix" + ], + "interface-over-type-literal": true, + "jsdoc-format": true, + "no-inferrable-types": true, + "no-internal-module": true, + "no-null-keyword": false, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": [ + true, + "ignore-template-strings" + ], + "no-var-keyword": true, + "object-literal-shorthand": true, + "one-line": [ + true, + "check-open-brace", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [ + true, + "single", + "avoid-escape", + "avoid-template" + ], + "semicolon": [ + true, + "always", + "ignore-bound-class-methods" + ], + "space-within-parens": true, + "triple-equals": true, + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" + } + ], + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-module", + "check-separator", + "check-type" + ], + "no-implicit-dependencies": [ + true, + "dev" + ], + "object-literal-key-quotes": [ + true, + "consistent-as-needed" + ], + "variable-name": [ + true, + "ban-keywords", + "check-format", + "allow-leading-underscore" + ], + "arrow-parens": false, + "arrow-return-shorthand": false, + "forin": false, + "member-access": false, + "no-conditional-assignment": false, + "no-console": false, + "no-debugger": false, + "no-empty-interface": false, + "no-eval": false, + "no-object-literal-type-assertion": false, + "no-shadowed-variable": false, + "no-submodule-imports": false, + "no-var-requires": false, + "ordered-imports": false, + "prefer-conditional-expression": false, + "radix": false, + "trailing-comma": false, + "align": false, + "eofline": false, + "max-line-length": false, + "no-consecutive-blank-lines": false, + "space-before-function-paren": false, + "ban-comma-operator": false, + "max-classes-per-file": false, + "member-ordering": false, + "no-angle-bracket-type-assertion": false, + "no-bitwise": false, + "no-namespace": false, + "no-reference": false, + "object-literal-sort-keys": false, + "one-variable-per-declaration": false, + "unified-signatures": false + } +} \ No newline at end of file diff --git a/openvidu-node-client/config/typedoc.js b/openvidu-node-client/config/typedoc.js new file mode 100644 index 00000000..8bd08744 --- /dev/null +++ b/openvidu-node-client/config/typedoc.js @@ -0,0 +1,25 @@ +module.exports = { + lib: [ + "lib.dom.d.ts", + "lib.es5.d.ts", + "lib.es2015.promise.d.ts", + "lib.scripthost.d.ts" + ], + mode: "file", + module: "commonjs", + name: "OpenVidu Browser", + target: "es5", + externalPattern: "node_modules", + exclude: [ + "**/OpenViduInternal/Interfaces/Private/**", + "**/OpenViduInternal/WebRtcStats/WebRtcStats.ts", + "**/OpenViduInternal/VersionAdapter.ts" + ], + excludeExternals: true, + excludePrivate: true, + theme: "default", + plugin: [ + "typedoc-plugin-sourcefile-url", + ], + 'sourcefile-url-prefix': "https://github.com/OpenVidu/openvidu/tree/master/openvidu-browser/src/" +} \ No newline at end of file diff --git a/openvidu-node-client/docs/assets/css/main.css b/openvidu-node-client/docs/assets/css/main.css new file mode 100644 index 00000000..48b3645c --- /dev/null +++ b/openvidu-node-client/docs/assets/css/main.css @@ -0,0 +1,865 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== HTML5 display definitions ========================================================================== */ +/** Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } + +/** Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } + +/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ +audio:not([controls]) { display: none; height: 0; } + +/** Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. Known issue: no IE 6 support. */ +[hidden] { display: none; } + +/* ========================================================================== Base ========================================================================== */ +/** 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using `em` units. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ +html { font-size: 100%; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ font-family: sans-serif; } + +/** Address `font-family` inconsistency between `textarea` and other form elements. */ +button, input, select, textarea { font-family: sans-serif; } + +/** Address margins handled incorrectly in IE 6/7. */ +body { margin: 0; } + +/* ========================================================================== Links ========================================================================== */ +/** Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { outline: thin dotted; } +a:active, a:hover { outline: 0; } + +/** Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== Typography ========================================================================== */ +/** Address font sizes and margins set differently in IE 6/7. Address font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */ +h1 { font-size: 2em; margin: 0.67em 0; } + +h2 { font-size: 1.5em; margin: 0.83em 0; } + +h3 { font-size: 1.17em; margin: 1em 0; } + +h4, .tsd-index-panel h3 { font-size: 1em; margin: 1.33em 0; } + +h5 { font-size: 0.83em; margin: 1.67em 0; } + +h6 { font-size: 0.67em; margin: 2.33em 0; } + +/** Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { border-bottom: 1px dotted; } + +/** Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { font-weight: bold; } + +blockquote { margin: 1em 40px; } + +/** Address styling not present in Safari 5 and Chrome. */ +dfn { font-style: italic; } + +/** Address differences between Firefox and other browsers. Known issue: no IE 6/7 normalization. */ +hr { box-sizing: content-box; height: 0; } + +/** Address styling not present in IE 6/7/8/9. */ +mark { background: #ff0; color: #000; } + +/** Address margins set differently in IE 6/7. */ +p, pre { margin: 1em 0; } + +/** Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { font-family: monospace, serif; _font-family: "courier new", monospace; font-size: 1em; } + +/** Improve readability of pre-formatted text in all browsers. */ +pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } + +/** Address CSS quotes not supported in IE 6/7. */ +q { quotes: none; } +q:before, q:after { content: ""; content: none; } + +/** Address `quotes` property not supported in Safari 4. */ +/** Address inconsistent and variable font size in all browsers. */ +small { font-size: 80%; } + +/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } + +sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; top: -0.5em; } + +sub { bottom: -0.25em; } + +/* ========================================================================== Lists ========================================================================== */ +/** Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { margin: 1em 0; } + +dd { margin: 0 0 0 40px; } + +/** Address paddings set differently in IE 6/7. */ +menu, ol, ul { padding: 0 0 0 40px; } + +/** Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { list-style: none; list-style-image: none; } + +/* ========================================================================== Embedded content ========================================================================== */ +/** 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 2. Improve image quality when scaled in IE 7. */ +img { border: 0; /* 1 */ -ms-interpolation-mode: bicubic; } + +/* 2 */ +/** Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { overflow: hidden; } + +/* ========================================================================== Figures ========================================================================== */ +/** Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { margin: 0; } + +/* ========================================================================== Forms ========================================================================== */ +/** Correct margin displayed oddly in IE 6/7. */ +/** Define consistent border, margin, and padding. */ +fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } + +/** 1. Correct color not being inherited in IE 6/7/8/9. 2. Correct text not wrapping in Firefox 3. 3. Correct alignment displayed oddly in IE 6/7. */ +legend { border: 0; /* 1 */ padding: 0; white-space: normal; /* 2 */ *margin-left: -7px; } + +/* 3 */ +/** 1. Correct font size not being inherited in all browsers. 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, and Chrome. 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { font-size: 100%; /* 1 */ margin: 0; /* 2 */ vertical-align: baseline; /* 3 */ *vertical-align: middle; } + +/* 3 */ +/** Address Firefox 3+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ +button, input { line-height: normal; } + +/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { text-transform: none; } + +/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. 4. Remove inner spacing in IE 7 without affecting normal text inputs. Known issue: inner spacing remains in IE 6. */ +button, html input[type="button"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ *overflow: visible; } + +/* 4 */ +input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ *overflow: visible; } + +/* 4 */ +/** Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { cursor: default; } + +/** 1. Address box sizing set to content-box in IE 8/9. 2. Remove excess padding in IE 8/9. 3. Remove excess padding in IE 7. Known issue: excess padding remains in IE 6. */ +input { /* 3 */ } +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ *height: 13px; /* 3 */ *width: 13px; } +input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; } +input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ +/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ +/** Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/** 1. Remove default vertical scrollbar in IE 6/7/8/9. 2. Improve readability and alignment in all browsers. */ +textarea { overflow: auto; /* 1 */ vertical-align: top; } + +/* 2 */ +/* ========================================================================== Tables ========================================================================== */ +/** Remove most spacing between table cells. */ +table { border-collapse: collapse; border-spacing: 0; } + +/* Visual Studio-like style based on original C# coloring by Jason Diamond */ +.hljs { display: inline-block; padding: 0.5em; background: white; color: black; } + +.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket { color: #008000; } + +.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title { color: #00f; } + +.xml .hljs-tag { color: #00f; } +.xml .hljs-tag .hljs-value { color: #00f; } + +.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value { color: #a31515; } + +.ruby .hljs-symbol { color: #a31515; } +.ruby .hljs-symbol .hljs-string { color: #a31515; } + +.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute { color: #a31515; } + +.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt { color: #2b91af; } + +.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag { color: #808080; } + +.vhdl .hljs-typename { font-weight: bold; } +.vhdl .hljs-string { color: #666666; } +.vhdl .hljs-literal { color: #a31515; } +.vhdl .hljs-attribute { color: #00b0e8; } + +.xml .hljs-attribute { color: #f00; } + +.col > :first-child, .col-1 > :first-child, .col-2 > :first-child, .col-3 > :first-child, .col-4 > :first-child, .col-5 > :first-child, .col-6 > :first-child, .col-7 > :first-child, .col-8 > :first-child, .col-9 > :first-child, .col-10 > :first-child, .col-11 > :first-child, .tsd-panel > :first-child, ul.tsd-descriptions > li > :first-child, .col > :first-child > :first-child, .col-1 > :first-child > :first-child, .col-2 > :first-child > :first-child, .col-3 > :first-child > :first-child, .col-4 > :first-child > :first-child, .col-5 > :first-child > :first-child, .col-6 > :first-child > :first-child, .col-7 > :first-child > :first-child, .col-8 > :first-child > :first-child, .col-9 > :first-child > :first-child, .col-10 > :first-child > :first-child, .col-11 > :first-child > :first-child, .tsd-panel > :first-child > :first-child, ul.tsd-descriptions > li > :first-child > :first-child, .col > :first-child > :first-child > :first-child, .col-1 > :first-child > :first-child > :first-child, .col-2 > :first-child > :first-child > :first-child, .col-3 > :first-child > :first-child > :first-child, .col-4 > :first-child > :first-child > :first-child, .col-5 > :first-child > :first-child > :first-child, .col-6 > :first-child > :first-child > :first-child, .col-7 > :first-child > :first-child > :first-child, .col-8 > :first-child > :first-child > :first-child, .col-9 > :first-child > :first-child > :first-child, .col-10 > :first-child > :first-child > :first-child, .col-11 > :first-child > :first-child > :first-child, .tsd-panel > :first-child > :first-child > :first-child, ul.tsd-descriptions > li > :first-child > :first-child > :first-child { margin-top: 0; } +.col > :last-child, .col-1 > :last-child, .col-2 > :last-child, .col-3 > :last-child, .col-4 > :last-child, .col-5 > :last-child, .col-6 > :last-child, .col-7 > :last-child, .col-8 > :last-child, .col-9 > :last-child, .col-10 > :last-child, .col-11 > :last-child, .tsd-panel > :last-child, ul.tsd-descriptions > li > :last-child, .col > :last-child > :last-child, .col-1 > :last-child > :last-child, .col-2 > :last-child > :last-child, .col-3 > :last-child > :last-child, .col-4 > :last-child > :last-child, .col-5 > :last-child > :last-child, .col-6 > :last-child > :last-child, .col-7 > :last-child > :last-child, .col-8 > :last-child > :last-child, .col-9 > :last-child > :last-child, .col-10 > :last-child > :last-child, .col-11 > :last-child > :last-child, .tsd-panel > :last-child > :last-child, ul.tsd-descriptions > li > :last-child > :last-child, .col > :last-child > :last-child > :last-child, .col-1 > :last-child > :last-child > :last-child, .col-2 > :last-child > :last-child > :last-child, .col-3 > :last-child > :last-child > :last-child, .col-4 > :last-child > :last-child > :last-child, .col-5 > :last-child > :last-child > :last-child, .col-6 > :last-child > :last-child > :last-child, .col-7 > :last-child > :last-child > :last-child, .col-8 > :last-child > :last-child > :last-child, .col-9 > :last-child > :last-child > :last-child, .col-10 > :last-child > :last-child > :last-child, .col-11 > :last-child > :last-child > :last-child, .tsd-panel > :last-child > :last-child > :last-child, ul.tsd-descriptions > li > :last-child > :last-child > :last-child { margin-bottom: 0; } + +.container { max-width: 1200px; margin: 0 auto; padding: 0 40px; } +@media (max-width: 640px) { .container { padding: 0 20px; } } + +.container-main { padding-bottom: 200px; } + +.row { position: relative; margin: 0 -10px; } +.row:after { visibility: hidden; display: block; content: ""; clear: both; height: 0; } + +.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11 { box-sizing: border-box; float: left; padding: 0 10px; } + +.col-1 { width: 8.33333%; } + +.offset-1 { margin-left: 8.33333%; } + +.col-2 { width: 16.66667%; } + +.offset-2 { margin-left: 16.66667%; } + +.col-3 { width: 25%; } + +.offset-3 { margin-left: 25%; } + +.col-4 { width: 33.33333%; } + +.offset-4 { margin-left: 33.33333%; } + +.col-5 { width: 41.66667%; } + +.offset-5 { margin-left: 41.66667%; } + +.col-6 { width: 50%; } + +.offset-6 { margin-left: 50%; } + +.col-7 { width: 58.33333%; } + +.offset-7 { margin-left: 58.33333%; } + +.col-8 { width: 66.66667%; } + +.offset-8 { margin-left: 66.66667%; } + +.col-9 { width: 75%; } + +.offset-9 { margin-left: 75%; } + +.col-10 { width: 83.33333%; } + +.offset-10 { margin-left: 83.33333%; } + +.col-11 { width: 91.66667%; } + +.offset-11 { margin-left: 91.66667%; } + +.tsd-kind-icon { display: block; position: relative; padding-left: 20px; text-indent: -20px; } +.tsd-kind-icon:before { content: ''; display: inline-block; vertical-align: middle; width: 17px; height: 17px; margin: 0 3px 2px 0; background-image: url(../images/icons.png); } +@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-kind-icon:before { background-image: url(../images/icons@2x.png); background-size: 238px 204px; } } + +.tsd-signature.tsd-kind-icon:before { background-position: 0 -153px; } + +.tsd-kind-object-literal > .tsd-kind-icon:before { background-position: 0px -17px; } +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -17px; } +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -17px; } + +.tsd-kind-class > .tsd-kind-icon:before { background-position: 0px -34px; } +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -34px; } +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -34px; } + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: 0px -51px; } +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -51px; } +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -51px; } + +.tsd-kind-interface > .tsd-kind-icon:before { background-position: 0px -68px; } +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -68px; } +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -68px; } + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: 0px -85px; } +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -85px; } +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -85px; } + +.tsd-kind-module > .tsd-kind-icon:before { background-position: 0px -102px; } +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -102px; } +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -102px; } + +.tsd-kind-external-module > .tsd-kind-icon:before { background-position: 0px -102px; } +.tsd-kind-external-module.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -102px; } +.tsd-kind-external-module.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -102px; } + +.tsd-kind-enum > .tsd-kind-icon:before { background-position: 0px -119px; } +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -119px; } +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -119px; } + +.tsd-kind-enum-member > .tsd-kind-icon:before { background-position: 0px -136px; } +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -136px; } +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -136px; } + +.tsd-kind-signature > .tsd-kind-icon:before { background-position: 0px -153px; } +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -153px; } +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -153px; } + +.tsd-kind-type-alias > .tsd-kind-icon:before { background-position: 0px -170px; } +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -170px; } +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -170px; } + +.tsd-kind-variable > .tsd-kind-icon:before { background-position: -136px -0px; } +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -0px; } +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; } +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -0px; } +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -0px; } +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -0px; } +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -0px; } +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; } +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -0px; } +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -0px; } +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; } +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -0px; } +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -0px; } + +.tsd-kind-property > .tsd-kind-icon:before { background-position: -136px -0px; } +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -0px; } +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; } +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -0px; } +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -0px; } +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -0px; } +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -0px; } +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; } +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -0px; } +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -0px; } +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; } +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -0px; } +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -0px; } + +.tsd-kind-get-signature > .tsd-kind-icon:before { background-position: -136px -17px; } +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -17px; } +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -17px; } +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -17px; } + +.tsd-kind-set-signature > .tsd-kind-icon:before { background-position: -136px -34px; } +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -34px; } +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -34px; } +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -34px; } + +.tsd-kind-accessor > .tsd-kind-icon:before { background-position: -136px -51px; } +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -51px; } +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -51px; } +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -51px; } +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -51px; } +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -51px; } +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -51px; } +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -51px; } +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -51px; } +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -51px; } +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -51px; } +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -51px; } +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -51px; } + +.tsd-kind-function > .tsd-kind-icon:before { background-position: -136px -68px; } +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -68px; } +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -68px; } +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -68px; } +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -68px; } +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -68px; } +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -68px; } +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -68px; } +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -68px; } +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -68px; } + +.tsd-kind-method > .tsd-kind-icon:before { background-position: -136px -68px; } +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -68px; } +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -68px; } +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -68px; } +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -68px; } +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -68px; } +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -68px; } +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -68px; } +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -68px; } +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -68px; } + +.tsd-kind-call-signature > .tsd-kind-icon:before { background-position: -136px -68px; } +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -68px; } +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -68px; } +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -68px; } + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: -136px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -85px; } +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -85px; } + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: -136px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -85px; } +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -85px; } + +.tsd-kind-constructor > .tsd-kind-icon:before { background-position: -136px -102px; } +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -102px; } +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; } +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -102px; } +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -102px; } +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -102px; } +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -102px; } +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; } +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -102px; } +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -102px; } +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; } +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -102px; } +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -102px; } + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { background-position: -136px -102px; } +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -102px; } +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -102px; } +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -102px; } + +.tsd-kind-index-signature > .tsd-kind-icon:before { background-position: -136px -119px; } +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -119px; } +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -119px; } +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -119px; } + +.tsd-kind-event > .tsd-kind-icon:before { background-position: -136px -136px; } +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -136px; } +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -136px; } +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -136px; } +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -136px; } +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -136px; } +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -136px; } +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -136px; } +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -136px; } +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -136px; } +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -136px; } +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -136px; } +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -136px; } + +.tsd-is-static > .tsd-kind-icon:before { background-position: -136px -153px; } +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -153px; } +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -153px; } +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -153px; } +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -153px; } +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -153px; } +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -153px; } +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -153px; } +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -153px; } +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -153px; } +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -153px; } +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -153px; } +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -153px; } + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { background-position: -136px -170px; } +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -170px; } +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -170px; } +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -170px; } + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { background-position: -136px -170px; } +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -170px; } +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -170px; } +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -170px; } + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { background-position: -136px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -170px; } +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -170px; } + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { background-position: -136px -187px; } +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -187px; } +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -187px; } +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -187px; } + +.no-transition { transition: none !important; } + +@-webkit-keyframes fade-in { from { opacity: 0; } + to { opacity: 1; } } + +@keyframes fade-in { from { opacity: 0; } + to { opacity: 1; } } +@-webkit-keyframes fade-out { from { opacity: 1; visibility: visible; } + to { opacity: 0; } } +@keyframes fade-out { from { opacity: 1; visibility: visible; } + to { opacity: 0; } } +@-webkit-keyframes fade-in-delayed { 0% { opacity: 0; } + 33% { opacity: 0; } + 100% { opacity: 1; } } +@keyframes fade-in-delayed { 0% { opacity: 0; } + 33% { opacity: 0; } + 100% { opacity: 1; } } +@-webkit-keyframes fade-out-delayed { 0% { opacity: 1; visibility: visible; } + 66% { opacity: 0; } + 100% { opacity: 0; } } +@keyframes fade-out-delayed { 0% { opacity: 1; visibility: visible; } + 66% { opacity: 0; } + 100% { opacity: 0; } } +@-webkit-keyframes shift-to-left { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); } + to { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } } +@keyframes shift-to-left { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); } + to { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } } +@-webkit-keyframes unshift-to-left { from { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } + to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } } +@keyframes unshift-to-left { from { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } + to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } } +@-webkit-keyframes pop-in-from-right { from { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } + to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } } +@keyframes pop-in-from-right { from { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } + to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } } +@-webkit-keyframes pop-out-to-right { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); visibility: visible; } + to { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } } +@keyframes pop-out-to-right { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); visibility: visible; } + to { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } } +body { background: #fdfdfd; font-family: "Segoe UI", sans-serif; font-size: 16px; color: #222; } + +a { color: #4da6ff; text-decoration: none; } +a:hover { text-decoration: underline; } + +code, pre { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; padding: 0.2em; margin: 0; font-size: 14px; background-color: rgba(0, 0, 0, 0.04); } + +pre { padding: 10px; } +pre code { padding: 0; font-size: 100%; background-color: transparent; } + +.tsd-typography { line-height: 1.333em; } +.tsd-typography ul { list-style: square; padding: 0 0 0 20px; margin: 0; } +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { font-size: 1em; margin: 0; } +.tsd-typography h5, .tsd-typography h6 { font-weight: normal; } +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { margin: 1em 0; } + +@media (min-width: 901px) and (max-width: 1024px) { html.default .col-content { width: 72%; } + html.default .col-menu { width: 28%; } + html.default .tsd-navigation { padding-left: 10px; } } +@media (max-width: 900px) { html.default .col-content { float: none; width: 100%; } + html.default .col-menu { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; left: auto !important; right: 0 !important; width: 100%; padding: 20px 20px 0 0; max-width: 450px; visibility: hidden; background-color: #fff; -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } + html.default .col-menu > *:last-child { padding-bottom: 20px; } + html.default .overlay { content: ""; display: block; position: fixed; z-index: 1023; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.75); visibility: hidden; } + html.default.to-has-menu .overlay { -webkit-animation: fade-in 0.4s; animation: fade-in 0.4s; } + html.default.to-has-menu header, html.default.to-has-menu footer, html.default.to-has-menu .col-content { -webkit-animation: shift-to-left 0.4s; animation: shift-to-left 0.4s; } + html.default.to-has-menu .col-menu { -webkit-animation: pop-in-from-right 0.4s; animation: pop-in-from-right 0.4s; } + html.default.from-has-menu .overlay { -webkit-animation: fade-out 0.4s; animation: fade-out 0.4s; } + html.default.from-has-menu header, html.default.from-has-menu footer, html.default.from-has-menu .col-content { -webkit-animation: unshift-to-left 0.4s; animation: unshift-to-left 0.4s; } + html.default.from-has-menu .col-menu { -webkit-animation: pop-out-to-right 0.4s; animation: pop-out-to-right 0.4s; } + html.default.has-menu body { overflow: hidden; } + html.default.has-menu .overlay { visibility: visible; } + html.default.has-menu header, html.default.has-menu footer, html.default.has-menu .col-content { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } + html.default.has-menu .col-menu { visibility: visible; -webkit-transform: translate(0, 0); transform: translate(0, 0); } } + +.tsd-page-title { padding: 70px 0 20px 0; margin: 0 0 40px 0; background: #fff; box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); } +.tsd-page-title h1 { margin: 0; } + +.tsd-breadcrumb { margin: 0; padding: 0; color: #808080; } +.tsd-breadcrumb a { color: #808080; text-decoration: none; } +.tsd-breadcrumb a:hover { text-decoration: underline; } +.tsd-breadcrumb li { display: inline; } +.tsd-breadcrumb li:after { content: " / "; } + +html.minimal .container { margin: 0; } +html.minimal .container-main { padding-top: 50px; padding-bottom: 0; } +html.minimal .content-wrap { padding-left: 300px; } +html.minimal .tsd-navigation { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; box-sizing: border-box; z-index: 1; left: 0; top: 40px; bottom: 0; width: 300px; padding: 20px; margin: 0; } +html.minimal .tsd-member .tsd-member { margin-left: 0; } +html.minimal .tsd-page-toolbar { position: fixed; z-index: 2; } +html.minimal #tsd-filter .tsd-filter-group { right: 0; -webkit-transform: none; transform: none; } +html.minimal footer { background-color: transparent; } +html.minimal footer .container { padding: 0; } +html.minimal .tsd-generator { padding: 0; } +@media (max-width: 900px) { html.minimal .tsd-navigation { display: none; } + html.minimal .content-wrap { padding-left: 0; } } + +dl.tsd-comment-tags { overflow: hidden; } +dl.tsd-comment-tags dt { clear: both; float: left; padding: 1px 5px; margin: 0 10px 0 0; border-radius: 4px; border: 1px solid #808080; color: #808080; font-size: 0.8em; font-weight: normal; } +dl.tsd-comment-tags dd { margin: 0 0 10px 0; } +dl.tsd-comment-tags p { margin: 0; } + +.tsd-panel.tsd-comment .lead { font-size: 1.1em; line-height: 1.333em; margin-bottom: 2em; } +.tsd-panel.tsd-comment .lead:last-child { margin-bottom: 0; } + +.toggle-protected .tsd-is-private { display: none; } + +.toggle-public .tsd-is-private, .toggle-public .tsd-is-protected, .toggle-public .tsd-is-private-protected { display: none; } + +.toggle-inherited .tsd-is-inherited { display: none; } + +.toggle-only-exported .tsd-is-not-exported { display: none; } + +.toggle-externals .tsd-is-external { display: none; } + +#tsd-filter { position: relative; display: inline-block; height: 40px; vertical-align: bottom; } +.no-filter #tsd-filter { display: none; } +#tsd-filter .tsd-filter-group { display: inline-block; height: 40px; vertical-align: bottom; white-space: nowrap; } +#tsd-filter input { display: none; } +@media (max-width: 900px) { #tsd-filter .tsd-filter-group { display: block; position: absolute; top: 40px; right: 20px; height: auto; background-color: #fff; visibility: hidden; -webkit-transform: translate(50%, 0); transform: translate(50%, 0); box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } + .has-options #tsd-filter .tsd-filter-group { visibility: visible; } + .to-has-options #tsd-filter .tsd-filter-group { -webkit-animation: fade-in 0.2s; animation: fade-in 0.2s; } + .from-has-options #tsd-filter .tsd-filter-group { -webkit-animation: fade-out 0.2s; animation: fade-out 0.2s; } + #tsd-filter label, #tsd-filter .tsd-select { display: block; padding-right: 20px; } } + +footer { border-top: 1px solid #eee; background-color: #fff; } +footer.with-border-bottom { border-bottom: 1px solid #eee; } +footer .tsd-legend-group { font-size: 0; } +footer .tsd-legend { display: inline-block; width: 25%; padding: 0; font-size: 16px; list-style: none; line-height: 1.333em; vertical-align: top; } +@media (max-width: 900px) { footer .tsd-legend { width: 50%; } } + +.tsd-hierarchy { list-style: square; padding: 0 0 0 20px; margin: 0; } +.tsd-hierarchy .target { font-weight: bold; } + +.tsd-index-panel .tsd-index-content { margin-bottom: -30px !important; } +.tsd-index-panel .tsd-index-section { margin-bottom: 30px !important; } +.tsd-index-panel h3 { margin: 0 -20px 10px -20px; padding: 0 20px 10px 20px; border-bottom: 1px solid #eee; } +.tsd-index-panel ul.tsd-index-list { -webkit-column-count: 3; -moz-column-count: 3; -ms-column-count: 3; -o-column-count: 3; column-count: 3; -webkit-column-gap: 20px; -moz-column-gap: 20px; -ms-column-gap: 20px; -o-column-gap: 20px; column-gap: 20px; padding: 0; list-style: none; line-height: 1.333em; } +@media (max-width: 900px) { .tsd-index-panel ul.tsd-index-list { -webkit-column-count: 1; -moz-column-count: 1; -ms-column-count: 1; -o-column-count: 1; column-count: 1; } } +@media (min-width: 901px) and (max-width: 1024px) { .tsd-index-panel ul.tsd-index-list { -webkit-column-count: 2; -moz-column-count: 2; -ms-column-count: 2; -o-column-count: 2; column-count: 2; } } +.tsd-index-panel ul.tsd-index-list li { -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; -ms-column-break-inside: avoid; -o-column-break-inside: avoid; column-break-inside: avoid; -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; -o-page-break-inside: avoid; page-break-inside: avoid; } +.tsd-index-panel a, .tsd-index-panel .tsd-parent-kind-module a { color: #9600ff; } +.tsd-index-panel .tsd-parent-kind-interface a { color: #7da01f; } +.tsd-index-panel .tsd-parent-kind-enum a { color: #cc9900; } +.tsd-index-panel .tsd-parent-kind-class a { color: #4da6ff; } +.tsd-index-panel .tsd-kind-module a { color: #9600ff; } +.tsd-index-panel .tsd-kind-interface a { color: #7da01f; } +.tsd-index-panel .tsd-kind-enum a { color: #cc9900; } +.tsd-index-panel .tsd-kind-class a { color: #4da6ff; } +.tsd-index-panel .tsd-is-private a { color: #808080; } + +.tsd-flag { display: inline-block; padding: 1px 5px; border-radius: 4px; color: #fff; background-color: #808080; text-indent: 0; font-size: 14px; font-weight: normal; } + +.tsd-anchor { position: absolute; top: -100px; } + +.tsd-member { position: relative; } +.tsd-member .tsd-anchor + h3 { margin-top: 0; margin-bottom: 0; border-bottom: none; } + +.tsd-navigation { padding: 0 0 0 40px; } +.tsd-navigation a { display: block; padding-top: 2px; padding-bottom: 2px; border-left: 2px solid transparent; color: #222; text-decoration: none; transition: border-left-color 0.1s; } +.tsd-navigation a:hover { text-decoration: underline; } +.tsd-navigation ul { margin: 0; padding: 0; list-style: none; } +.tsd-navigation li { padding: 0; } + +.tsd-navigation.primary { padding-bottom: 40px; } +.tsd-navigation.primary a { display: block; padding-top: 6px; padding-bottom: 6px; } +.tsd-navigation.primary ul li a { padding-left: 5px; } +.tsd-navigation.primary ul li li a { padding-left: 25px; } +.tsd-navigation.primary ul li li li a { padding-left: 45px; } +.tsd-navigation.primary ul li li li li a { padding-left: 65px; } +.tsd-navigation.primary ul li li li li li a { padding-left: 85px; } +.tsd-navigation.primary ul li li li li li li a { padding-left: 105px; } +.tsd-navigation.primary > ul { border-bottom: 1px solid #eee; } +.tsd-navigation.primary li { border-top: 1px solid #eee; } +.tsd-navigation.primary li.current > a { font-weight: bold; } +.tsd-navigation.primary li.label span { display: block; padding: 20px 0 6px 5px; color: #808080; } +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { padding-top: 20px; } + +.tsd-navigation.secondary ul { transition: opacity 0.2s; } +.tsd-navigation.secondary ul li a { padding-left: 25px; } +.tsd-navigation.secondary ul li li a { padding-left: 45px; } +.tsd-navigation.secondary ul li li li a { padding-left: 65px; } +.tsd-navigation.secondary ul li li li li a { padding-left: 85px; } +.tsd-navigation.secondary ul li li li li li a { padding-left: 105px; } +.tsd-navigation.secondary ul li li li li li li a { padding-left: 125px; } +.tsd-navigation.secondary ul.current a { border-left-color: #eee; } +.tsd-navigation.secondary li.focus > a, .tsd-navigation.secondary ul.current li.focus > a { border-left-color: #000; } +.tsd-navigation.secondary li.current { margin-top: 20px; margin-bottom: 20px; border-left-color: #eee; } +.tsd-navigation.secondary li.current > a { font-weight: bold; } + +@media (min-width: 901px) { .menu-sticky-wrap { position: static; } + .no-csspositionsticky .menu-sticky-wrap.sticky { position: fixed; } + .no-csspositionsticky .menu-sticky-wrap.sticky-current { position: fixed; } + .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.before-current, .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.after-current { opacity: 0; } + .no-csspositionsticky .menu-sticky-wrap.sticky-bottom { position: absolute; top: auto !important; left: auto !important; bottom: 0; right: 0; } + .csspositionsticky .menu-sticky-wrap.sticky { position: -webkit-sticky; position: sticky; } + .csspositionsticky .menu-sticky-wrap.sticky-current { position: -webkit-sticky; position: sticky; } } + +.tsd-panel { margin: 20px 0; padding: 20px; background-color: #fff; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } +.tsd-panel:empty { display: none; } +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { margin: 1.5em -20px 10px -20px; padding: 0 20px 10px 20px; border-bottom: 1px solid #eee; } +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { margin-bottom: 0; border-bottom: 0; } +.tsd-panel table { display: block; width: 100%; overflow: auto; margin-top: 10px; word-break: normal; word-break: keep-all; } +.tsd-panel table th { font-weight: bold; } +.tsd-panel table th, .tsd-panel table td { padding: 6px 13px; border: 1px solid #ddd; } +.tsd-panel table tr { background-color: #fff; border-top: 1px solid #ccc; } +.tsd-panel table tr:nth-child(2n) { background-color: #f8f8f8; } + +.tsd-panel-group { margin: 60px 0; } +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { padding-left: 20px; padding-right: 20px; } + +#tsd-search { transition: background-color 0.2s; } +#tsd-search .title { position: relative; z-index: 2; } +#tsd-search .field { position: absolute; left: 0; top: 0; right: 40px; height: 40px; } +#tsd-search .field input { box-sizing: border-box; position: relative; top: -50px; z-index: 1; width: 100%; padding: 0 10px; opacity: 0; outline: 0; border: 0; background: transparent; color: #222; } +#tsd-search .field label { position: absolute; overflow: hidden; right: -40px; } +#tsd-search .field input, #tsd-search .title { transition: opacity 0.2s; } +#tsd-search .results { position: absolute; visibility: hidden; top: 40px; width: 100%; margin: 0; padding: 0; list-style: none; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } +#tsd-search .results li { padding: 0 10px; background-color: #fdfdfd; } +#tsd-search .results li:nth-child(even) { background-color: #fff; } +#tsd-search .results li.state { display: none; } +#tsd-search .results li.current, #tsd-search .results li:hover { background-color: #eee; } +#tsd-search .results a { display: block; } +#tsd-search .results a:before { top: 10px; } +#tsd-search .results span.parent { color: #808080; font-weight: normal; } +#tsd-search.has-focus { background-color: #eee; } +#tsd-search.has-focus .field input { top: 0; opacity: 1; } +#tsd-search.has-focus .title { z-index: 0; opacity: 0; } +#tsd-search.has-focus .results { visibility: visible; } +#tsd-search.loading .results li.state.loading { display: block; } +#tsd-search.failure .results li.state.failure { display: block; } + +.tsd-signature { margin: 0 0 1em 0; padding: 10px; border: 1px solid #eee; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; } +.tsd-signature.tsd-kind-icon { padding-left: 30px; } +.tsd-signature.tsd-kind-icon:before { top: 10px; left: 10px; } +.tsd-panel > .tsd-signature { margin-left: -20px; margin-right: -20px; border-width: 1px 0; } +.tsd-panel > .tsd-signature.tsd-kind-icon { padding-left: 40px; } +.tsd-panel > .tsd-signature.tsd-kind-icon:before { left: 20px; } + +.tsd-signature-symbol { color: #808080; font-weight: normal; } + +.tsd-signature-type { font-style: italic; font-weight: normal; } + +.tsd-signatures { padding: 0; margin: 0 0 1em 0; border: 1px solid #eee; } +.tsd-signatures .tsd-signature { margin: 0; border-width: 1px 0 0 0; transition: background-color 0.1s; } +.tsd-signatures .tsd-signature:first-child { border-top-width: 0; } +.tsd-signatures .tsd-signature.current { background-color: #eee; } +.tsd-signatures.active > .tsd-signature { cursor: pointer; } +.tsd-panel > .tsd-signatures { margin-left: -20px; margin-right: -20px; border-width: 1px 0; } +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { padding-left: 40px; } +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { left: 20px; } +.tsd-panel > a.anchor + .tsd-signatures { border-top-width: 0; margin-top: -20px; } + +ul.tsd-descriptions { position: relative; overflow: hidden; transition: height 0.3s; padding: 0; list-style: none; } +ul.tsd-descriptions.active > .tsd-description { display: none; } +ul.tsd-descriptions.active > .tsd-description.current { display: block; } +ul.tsd-descriptions.active > .tsd-description.fade-in { -webkit-animation: fade-in-delayed 0.3s; animation: fade-in-delayed 0.3s; } +ul.tsd-descriptions.active > .tsd-description.fade-out { -webkit-animation: fade-out-delayed 0.3s; animation: fade-out-delayed 0.3s; position: absolute; display: block; top: 0; left: 0; right: 0; opacity: 0; visibility: hidden; } +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { font-size: 16px; margin: 1em 0 0.5em 0; } + +ul.tsd-parameters, ul.tsd-type-parameters { list-style: square; margin: 0; padding-left: 20px; } +ul.tsd-parameters > li.tsd-parameter-siganture, ul.tsd-type-parameters > li.tsd-parameter-siganture { list-style: none; margin-left: -20px; } +ul.tsd-parameters h5, ul.tsd-type-parameters h5 { font-size: 16px; margin: 1em 0 0.5em 0; } +ul.tsd-parameters .tsd-comment, ul.tsd-type-parameters .tsd-comment { margin-top: -0.5em; } + +.tsd-sources { font-size: 14px; color: #808080; margin: 0 0 1em 0; } +.tsd-sources a { color: #808080; text-decoration: underline; } +.tsd-sources ul, .tsd-sources p { margin: 0 !important; } +.tsd-sources ul { list-style: none; padding: 0; } + +.tsd-page-toolbar { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 40px; color: #333; background: #fff; border-bottom: 1px solid #eee; } +.tsd-page-toolbar a { color: #333; text-decoration: none; } +.tsd-page-toolbar a.title { font-weight: bold; } +.tsd-page-toolbar a.title:hover { text-decoration: underline; } +.tsd-page-toolbar .table-wrap { display: table; width: 100%; height: 40px; } +.tsd-page-toolbar .table-cell { display: table-cell; position: relative; white-space: nowrap; line-height: 40px; } +.tsd-page-toolbar .table-cell:first-child { width: 100%; } + +.tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { content: ""; display: inline-block; width: 40px; height: 40px; margin: 0 -8px 0 0; background-image: url(../images/widgets.png); background-repeat: no-repeat; text-indent: -1024px; vertical-align: bottom; } +@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { background-image: url(../images/widgets@2x.png); background-size: 320px 40px; } } + +.tsd-widget { display: inline-block; overflow: hidden; opacity: 0.6; height: 40px; transition: opacity 0.1s, background-color 0.2s; vertical-align: bottom; cursor: pointer; } +.tsd-widget:hover { opacity: 0.8; } +.tsd-widget.active { opacity: 1; background-color: #eee; } +.tsd-widget.no-caption { width: 40px; } +.tsd-widget.no-caption:before { margin: 0; } +.tsd-widget.search:before { background-position: 0 0; } +.tsd-widget.menu:before { background-position: -40px 0; } +.tsd-widget.options:before { background-position: -80px 0; } +.tsd-widget.options, .tsd-widget.menu { display: none; } +@media (max-width: 900px) { .tsd-widget.options, .tsd-widget.menu { display: inline-block; } } +input[type=checkbox] + .tsd-widget:before { background-position: -120px 0; } +input[type=checkbox]:checked + .tsd-widget:before { background-position: -160px 0; } + +.tsd-select { position: relative; display: inline-block; height: 40px; transition: opacity 0.1s, background-color 0.2s; vertical-align: bottom; cursor: pointer; } +.tsd-select .tsd-select-label { opacity: 0.6; transition: opacity 0.2s; } +.tsd-select .tsd-select-label:before { background-position: -240px 0; } +.tsd-select.active .tsd-select-label { opacity: 0.8; } +.tsd-select.active .tsd-select-list { visibility: visible; opacity: 1; transition-delay: 0s; } +.tsd-select .tsd-select-list { position: absolute; visibility: hidden; top: 40px; left: 0; margin: 0; padding: 0; opacity: 0; list-style: none; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); transition: visibility 0s 0.2s, opacity 0.2s; } +.tsd-select .tsd-select-list li { padding: 0 20px 0 0; background-color: #fdfdfd; } +.tsd-select .tsd-select-list li:before { background-position: 40px 0; } +.tsd-select .tsd-select-list li:nth-child(even) { background-color: #fff; } +.tsd-select .tsd-select-list li:hover { background-color: #eee; } +.tsd-select .tsd-select-list li.selected:before { background-position: -200px 0; } +@media (max-width: 900px) { .tsd-select .tsd-select-list { top: 0; left: auto; right: 100%; margin-right: -5px; } + .tsd-select .tsd-select-label:before { background-position: -280px 0; } } + +img { max-width: 100%; } diff --git a/openvidu-node-client/docs/assets/css/main.css.map b/openvidu-node-client/docs/assets/css/main.css.map new file mode 100644 index 00000000..bc17fe48 --- /dev/null +++ b/openvidu-node-client/docs/assets/css/main.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../../../../src/default/assets/css/vendors/_normalize.sass","../../../../src/default/assets/css/vendors/_highlight.js.sass","../../../../src/default/assets/css/setup/_mixins.sass","../../../../src/default/assets/css/setup/_grid.sass","../../../../src/default/assets/css/setup/_icons.scss","../../../../src/default/assets/css/setup/_animations.sass","../../../../src/default/assets/css/setup/_typography.sass","../../../../src/default/assets/css/_constants.sass","../../../../src/default/assets/css/layouts/_default.sass","../../../../src/default/assets/css/layouts/_minimal.sass","../../../../src/default/assets/css/elements/_comment.sass","../../../../src/default/assets/css/elements/_filter.sass","../../../../src/default/assets/css/elements/_footer.sass","../../../../src/default/assets/css/elements/_hierarchy.sass","../../../../src/default/assets/css/elements/_index.sass","../../../../src/default/assets/css/elements/_member.sass","../../../../src/default/assets/css/elements/_navigation.sass","../../../../src/default/assets/css/elements/_panel.sass","../../../../src/default/assets/css/elements/_search.sass","../../../../src/default/assets/css/elements/_signatures.sass","../../../../src/default/assets/css/elements/_sources.sass","../../../../src/default/assets/css/elements/_toolbar.sass","../../../../src/default/assets/css/elements/_images.sass"], +"names": [], +"file": "main.css" +} diff --git a/openvidu-node-client/docs/assets/images/icons.png b/openvidu-node-client/docs/assets/images/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2d11573b9ade711ee30a2bd4f38e6f9ea82281 GIT binary patch literal 9487 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 JrMIm@{|8^qBMkrm literal 0 HcmV?d00001 diff --git a/openvidu-node-client/docs/assets/images/icons@2x.png b/openvidu-node-client/docs/assets/images/icons@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8932ba20ffa431194b8cebc977c731bec3ee23e0 GIT binary patch literal 27740 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 U&wLp6h6BX&boFyt=akR{0G%$)mH+?% literal 0 HcmV?d00001 diff --git a/openvidu-node-client/docs/assets/images/widgets@2x.png b/openvidu-node-client/docs/assets/images/widgets@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbbd57272f3b28f47527d4951ad10f950b8ad43 GIT binary patch literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R literal 0 HcmV?d00001 diff --git a/openvidu-node-client/docs/assets/js/main.js b/openvidu-node-client/docs/assets/js/main.js new file mode 100644 index 00000000..528a3b02 --- /dev/null +++ b/openvidu-node-client/docs/assets/js/main.js @@ -0,0 +1,5 @@ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function s(a){var b=a.length,c=n.type(a);return"function"!==c&&!n.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}function D(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),"string"==typeof(c=a.getAttribute(d))){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c)}catch(e){}M.set(a,b,c)}else c=void 0;return c}function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("
Recording ModeRecording LayoutDefault Recording Layout Media Mode
- - - {{ recordingLayout }} + + + {{ defaultRecordingLayout }}