openvidu-node-client TypeDoc update to 2.4.0

pull/87/merge
pabloFuente 2018-07-23 12:03:56 +02:00
parent 97b0d5ae34
commit a2e406a75c
28 changed files with 1811 additions and 197 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,361 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Connection | OpenVidu Node Client</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a style="position: absolute" href="/docs/reference-docs/openvidu-node-client/" class="title">
<img class="logo-small" style="height: 26px; margin-top: 7px" src="/img/logos/openvidu_vert_grey_bg_transp_cropped.png">
</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">Globals</a>
</li>
<li>
<a href="connection.html">Connection</a>
</li>
</ul>
<h1>Class Connection</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="session.html#activeconnections">Session.activeConnections</a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Connection</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#clientdata" class="tsd-kind-icon">client<wbr>Data</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#connectionid" class="tsd-kind-icon">connection<wbr>Id</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#publishers" class="tsd-kind-icon">publishers</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#role" class="tsd-kind-icon">role</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#serverdata" class="tsd-kind-icon">server<wbr>Data</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#subscribers" class="tsd-kind-icon">subscribers</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="connection.html#token" class="tsd-kind-icon">token</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="clientdata" class="tsd-anchor"></a>
<h3>client<wbr>Data</h3>
<div class="tsd-signature tsd-kind-icon">client<wbr>Data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L50">Connection.ts:50</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Data associated to the connection on the client-side. This value is set with second parameter of method
<a href="/api/openvidu-browser/classes/session.html#connect">Session.connect</a> in OpenVidu Browser</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="connectionid" class="tsd-anchor"></a>
<h3>connection<wbr>Id</h3>
<div class="tsd-signature tsd-kind-icon">connection<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L29">Connection.ts:29</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Identifier of the connection. You can call <a href="session.html#forcedisconnect">Session.forceDisconnect</a> passing this property as parameter</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="publishers" class="tsd-anchor"></a>
<h3>publishers</h3>
<div class="tsd-signature tsd-kind-icon">publishers<span class="tsd-signature-symbol">:</span> <a href="publisher.html" class="tsd-signature-type">Publisher</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L56">Connection.ts:56</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Array of Publisher objects this particular Connection is publishing to the Session (each Publisher object has one Stream, uniquely
identified by its <code>streamId</code>). You can call <a href="session.html#forceunpublish">Session.forceUnpublish</a> passing any of this values as parameter</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="role" class="tsd-anchor"></a>
<h3>role</h3>
<div class="tsd-signature tsd-kind-icon">role<span class="tsd-signature-symbol">:</span> <a href="../enums/openvidurole.html" class="tsd-signature-type">OpenViduRole</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L34">Connection.ts:34</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Role of the connection</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="serverdata" class="tsd-anchor"></a>
<h3>server<wbr>Data</h3>
<div class="tsd-signature tsd-kind-icon">server<wbr>Data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L44">Connection.ts:44</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Data associated to the connection on the server-side. This value is set with property <a href="../interfaces/tokenoptions.html#data">TokenOptions.data</a> when calling <a href="session.html#generatetoken">Session.generateToken</a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="subscribers" class="tsd-anchor"></a>
<h3>subscribers</h3>
<div class="tsd-signature tsd-kind-icon">subscribers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L62">Connection.ts:62</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Array of streams (their <code>streamId</code> properties) this particular Connection is subscribed to. Each one always corresponds to one
Publisher of some other Connection: each string of this array must be equal to one <a href="publisher.html#streamid">Publisher.streamId</a> of other Connection</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="token" class="tsd-anchor"></a>
<h3>token</h3>
<div class="tsd-signature tsd-kind-icon">token<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Connection.ts#L39">Connection.ts:39</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Token associated to the connection</p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../index.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-enum">
<a href="../enums/mediamode.html" class="tsd-kind-icon">Media<wbr>Mode</a>
</li>
<li class=" tsd-kind-enum">
<a href="../enums/openvidurole.html" class="tsd-kind-icon">Open<wbr>Vidu<wbr>Role</a>
</li>
<li class=" tsd-kind-enum">
<a href="../enums/recordinglayout.html" class="tsd-kind-icon">Recording<wbr>Layout</a>
</li>
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class">
<a href="connection.html" class="tsd-kind-icon">Connection</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#clientdata" class="tsd-kind-icon">client<wbr>Data</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#connectionid" class="tsd-kind-icon">connection<wbr>Id</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#publishers" class="tsd-kind-icon">publishers</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#role" class="tsd-kind-icon">role</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#serverdata" class="tsd-kind-icon">server<wbr>Data</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#subscribers" class="tsd-kind-icon">subscribers</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="connection.html#token" class="tsd-kind-icon">token</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class">
<a href="openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="recording.html" class="tsd-kind-icon">Recording</a>
</li>
<li class=" tsd-kind-class">
<a href="session.html" class="tsd-kind-icon">Session</a>
</li>
<li class=" tsd-kind-interface">
<a href="../interfaces/recordingproperties.html" class="tsd-kind-icon">Recording<wbr>Properties</a>
</li>
<li class=" tsd-kind-interface">
<a href="../interfaces/sessionproperties.html" class="tsd-kind-icon">Session<wbr>Properties</a>
</li>
<li class=" tsd-kind-interface">
<a href="../interfaces/tokenoptions.html" class="tsd-kind-icon">Token<wbr>Options</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -85,11 +85,18 @@
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="openvidu.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="openvidu.html#activesessions" class="tsd-kind-icon">active<wbr>Sessions</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="openvidu.html#createsession" class="tsd-kind-icon">create<wbr>Session</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="openvidu.html#deleterecording" class="tsd-kind-icon">delete<wbr>Recording</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="openvidu.html#fetch" class="tsd-kind-icon">fetch</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="openvidu.html#getrecording" class="tsd-kind-icon">get<wbr>Recording</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="openvidu.html#listrecordings" class="tsd-kind-icon">list<wbr>Recordings</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="openvidu.html#startrecording" class="tsd-kind-icon">start<wbr>Recording</a></li>
@ -111,7 +118,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L35">OpenVidu.ts:35</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L80">OpenVidu.ts:80</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -140,6 +147,35 @@
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="activesessions" class="tsd-anchor"></a>
<h3>active<wbr>Sessions</h3>
<div class="tsd-signature tsd-kind-icon">active<wbr>Sessions<span class="tsd-signature-symbol">:</span> <a href="session.html" class="tsd-signature-type">Session</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L80">OpenVidu.ts:80</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Array of active sessions. <strong>This value will remain unchanged since the last time method <a href="openvidu.html#fetch">OpenVidu.fetch</a>
was called</strong>. Exceptions to this rule are:</p>
</div>
<ul>
<li>Calling <a href="session.html#fetch">Session.fetch</a> updates that specific Session status</li>
<li>Calling <a href="session.html#close">Session.close</a> automatically removes the Session from the list of active Sessions</li>
<li>Calling <a href="session.html#forcedisconnect">Session.forceDisconnect</a> automatically updates the inner affected connections for that specific Session</li>
<li>Calling <a href="session.html#forceunpublish">Session.forceUnpublish</a> also automatically updates the inner affected connections for that specific Session</li>
<li>Calling <a href="openvidu.html#startrecording">OpenVidu.startRecording</a> and <a href="openvidu.html#stoprecording">OpenVidu.stopRecording</a> automatically updates the recording status of the
Session (<a href="session.html#recording">Session.recording</a>)</li>
</ul>
<p>To get the array of active sessions with their current actual value, you must call <a href="openvidu.html#fetch">OpenVidu.fetch</a> before consulting
property <a href="openvidu.html#activesessions">activeSessions</a></p>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
@ -152,12 +188,12 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L51">OpenVidu.ts:51</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L97">OpenVidu.ts:97</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Creates an OpenVidu session. You can call <a href="session.html#getsessionid">Session.getSessionId</a> in the resolved promise to retrieve the <code>sessionId</code></p>
<p>Creates an OpenVidu session. You can call <a href="session.html#getsessionid">Session.getSessionId</a> inside the resolved promise to retrieve the <code>sessionId</code></p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
@ -181,7 +217,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L294">OpenVidu.ts:294</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L354">OpenVidu.ts:354</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -206,6 +242,31 @@
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="fetch" class="tsd-anchor"></a>
<h3>fetch</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">fetch<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L398">OpenVidu.ts:398</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Updates every property of every active Session with the current status they have in OpenVidu Server.
After calling this method you can access the updated array of active sessions in <a href="openvidu.html#activesessions">activeSessions</a></p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolved to true if any Session status has changed with respect to the server, or to false if not.
This applies to any property or sub-property of any of the sessions locally stored in OpenVidu Node Client</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getrecording" class="tsd-anchor"></a>
<h3>get<wbr>Recording</h3>
@ -216,7 +277,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L201">OpenVidu.ts:201</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L262">OpenVidu.ts:262</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -251,7 +312,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L243">OpenVidu.ts:243</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L304">OpenVidu.ts:304</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -276,7 +337,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L64">OpenVidu.ts:64</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L111">OpenVidu.ts:111</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -307,7 +368,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L65">OpenVidu.ts:65</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L112">OpenVidu.ts:112</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -329,7 +390,8 @@
<h5>name: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The name you want to give to the video file. You can access this same value in your clients on recording events (<code>recordingStarted</code>, <code>recordingStopped</code>)</p>
<p>The name you want to give to the video file. You can access this same value in your clients on recording events (<code>recordingStarted</code>, <code>recordingStopped</code>)
<strong>WARNING: this parameter follows an overwriting policy.</strong> If you name two recordings the same, the newest MP4 file will overwrite the oldest one</p>
</div>
</div>
</li>
@ -346,7 +408,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L66">OpenVidu.ts:66</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L113">OpenVidu.ts:113</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -389,7 +451,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L155">OpenVidu.ts:155</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L210">OpenVidu.ts:210</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -439,6 +501,9 @@
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="connection.html" class="tsd-kind-icon">Connection</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class">
@ -447,12 +512,18 @@
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="openvidu.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="openvidu.html#activesessions" class="tsd-kind-icon">active<wbr>Sessions</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="openvidu.html#createsession" class="tsd-kind-icon">create<wbr>Session</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="openvidu.html#deleterecording" class="tsd-kind-icon">delete<wbr>Recording</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="openvidu.html#fetch" class="tsd-kind-icon">fetch</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="openvidu.html#getrecording" class="tsd-kind-icon">get<wbr>Recording</a>
</li>
@ -469,6 +540,9 @@
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class">
<a href="publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -0,0 +1,415 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Publisher | OpenVidu Node Client</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a style="position: absolute" href="/docs/reference-docs/openvidu-node-client/" class="title">
<img class="logo-small" style="height: 26px; margin-top: 7px" src="/img/logos/openvidu_vert_grey_bg_transp_cropped.png">
</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">Globals</a>
</li>
<li>
<a href="publisher.html">Publisher</a>
</li>
</ul>
<h1>Class Publisher</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="connection.html#publishers">Connection.publishers</a></p>
</div>
<p>This is a backend representation of a published media stream (see <a href="/api/openvidu-browser/classes/stream.html">OpenVidu Browser Stream class</a>)</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Publisher</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="publisher.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#audioactive" class="tsd-kind-icon">audio<wbr>Active</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#framerate" class="tsd-kind-icon">frame<wbr>Rate</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#hasaudio" class="tsd-kind-icon">has<wbr>Audio</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#hasvideo" class="tsd-kind-icon">has<wbr>Video</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#streamid" class="tsd-kind-icon">stream<wbr>Id</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#typeofvideo" class="tsd-kind-icon">type<wbr>OfVideo</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#videoactive" class="tsd-kind-icon">video<wbr>Active</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="publisher.html#videodimensions" class="tsd-kind-icon">video<wbr>Dimensions</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Publisher<span class="tsd-signature-symbol">(</span>json<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="publisher.html" class="tsd-signature-type">Publisher</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L67">Publisher.ts:67</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>json: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="publisher.html" class="tsd-signature-type">Publisher</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="audioactive" class="tsd-anchor"></a>
<h3>audio<wbr>Active</h3>
<div class="tsd-signature tsd-kind-icon">audio<wbr>Active<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L47">Publisher.ts:47</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="framerate" class="tsd-anchor"></a>
<h3>frame<wbr>Rate</h3>
<div class="tsd-signature tsd-kind-icon">frame<wbr>Rate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L57">Publisher.ts:57</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="hasaudio" class="tsd-anchor"></a>
<h3>has<wbr>Audio</h3>
<div class="tsd-signature tsd-kind-icon">has<wbr>Audio<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L37">Publisher.ts:37</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="hasvideo" class="tsd-anchor"></a>
<h3>has<wbr>Video</h3>
<div class="tsd-signature tsd-kind-icon">has<wbr>Video<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L42">Publisher.ts:42</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="streamid" class="tsd-anchor"></a>
<h3>stream<wbr>Id</h3>
<div class="tsd-signature tsd-kind-icon">stream<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L32">Publisher.ts:32</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Unique identifier of the <a href="/api/openvidu-browser/classes/stream.html">Stream</a> associated to this Publisher.
Each Publisher is paired with only one Stream, so you can identify each Publisher by its
<a href="/api/openvidu-browser/classes/stream.html#streamid"><code>Stream.streamId</code></a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="typeofvideo" class="tsd-anchor"></a>
<h3>type<wbr>OfVideo</h3>
<div class="tsd-signature tsd-kind-icon">type<wbr>OfVideo<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L62">Publisher.ts:62</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="videoactive" class="tsd-anchor"></a>
<h3>video<wbr>Active</h3>
<div class="tsd-signature tsd-kind-icon">video<wbr>Active<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L52">Publisher.ts:52</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="videodimensions" class="tsd-anchor"></a>
<h3>video<wbr>Dimensions</h3>
<div class="tsd-signature tsd-kind-icon">video<wbr>Dimensions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Publisher.ts#L67">Publisher.ts:67</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See properties of <a href="/api/openvidu-browser/classes/stream.html">Stream</a> object in OpenVidu Browser library to find out more</p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../index.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-enum">
<a href="../enums/mediamode.html" class="tsd-kind-icon">Media<wbr>Mode</a>
</li>
<li class=" tsd-kind-enum">
<a href="../enums/openvidurole.html" class="tsd-kind-icon">Open<wbr>Vidu<wbr>Role</a>
</li>
<li class=" tsd-kind-enum">
<a href="../enums/recordinglayout.html" class="tsd-kind-icon">Recording<wbr>Layout</a>
</li>
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class">
<a href="publisher.html" class="tsd-kind-icon">Publisher</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="publisher.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#audioactive" class="tsd-kind-icon">audio<wbr>Active</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#framerate" class="tsd-kind-icon">frame<wbr>Rate</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#hasaudio" class="tsd-kind-icon">has<wbr>Audio</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#hasvideo" class="tsd-kind-icon">has<wbr>Video</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#streamid" class="tsd-kind-icon">stream<wbr>Id</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#typeofvideo" class="tsd-kind-icon">type<wbr>OfVideo</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#videoactive" class="tsd-kind-icon">video<wbr>Active</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="publisher.html#videodimensions" class="tsd-kind-icon">video<wbr>Dimensions</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class">
<a href="recording.html" class="tsd-kind-icon">Recording</a>
</li>
<li class=" tsd-kind-class">
<a href="session.html" class="tsd-kind-icon">Session</a>
</li>
<li class=" tsd-kind-interface">
<a href="../interfaces/recordingproperties.html" class="tsd-kind-icon">Recording<wbr>Properties</a>
</li>
<li class=" tsd-kind-interface">
<a href="../interfaces/sessionproperties.html" class="tsd-kind-icon">Session<wbr>Properties</a>
</li>
<li class=" tsd-kind-interface">
<a href="../interfaces/tokenoptions.html" class="tsd-kind-icon">Token<wbr>Options</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="openvidu.html#startrecording">OpenVidu.startRecording</a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
@ -85,12 +92,6 @@
<li class="tsd-kind-enum tsd-parent-kind-class tsd-is-static"><a href="../enums/recording.status.html" class="tsd-kind-icon">Status</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="recording.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
@ -110,32 +111,6 @@
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Recording<span class="tsd-signature-symbol">(</span>json<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JSON</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="recording.html" class="tsd-signature-type">Recording</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L77">Recording.ts:77</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>json: <span class="tsd-signature-type">JSON</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="recording.html" class="tsd-signature-type">Recording</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
@ -144,7 +119,7 @@
<div class="tsd-signature tsd-kind-icon">created<wbr>At<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L35">Recording.ts:35</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L38">Recording.ts:38</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -159,7 +134,7 @@
<div class="tsd-signature tsd-kind-icon">duration<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;0</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L45">Recording.ts:45</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L48">Recording.ts:48</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -174,7 +149,7 @@
<div class="tsd-signature tsd-kind-icon">has<wbr>Audio<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> =&nbsp;true</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L55">Recording.ts:55</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L58">Recording.ts:58</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -189,7 +164,7 @@
<div class="tsd-signature tsd-kind-icon">has<wbr>Video<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> =&nbsp;true</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L60">Recording.ts:60</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L63">Recording.ts:63</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -204,7 +179,7 @@
<div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L25">Recording.ts:25</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L28">Recording.ts:28</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -219,7 +194,7 @@
<div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L72">Recording.ts:72</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L75">Recording.ts:75</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -236,7 +211,7 @@
<div class="tsd-signature tsd-kind-icon">recording<wbr>Layout<span class="tsd-signature-symbol">:</span> <a href="../enums/recordinglayout.html" class="tsd-signature-type">RecordingLayout</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L77">Recording.ts:77</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L80">Recording.ts:80</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -251,7 +226,7 @@
<div class="tsd-signature tsd-kind-icon">session<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L30">Recording.ts:30</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L33">Recording.ts:33</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -266,7 +241,7 @@
<div class="tsd-signature tsd-kind-icon">size<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;0</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L40">Recording.ts:40</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L43">Recording.ts:43</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -281,7 +256,7 @@
<div class="tsd-signature tsd-kind-icon">status<span class="tsd-signature-symbol">:</span> <a href="../enums/recording.status.html" class="tsd-signature-type">Status</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L65">Recording.ts:65</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L68">Recording.ts:68</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -296,7 +271,7 @@
<div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L50">Recording.ts:50</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L53">Recording.ts:53</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -329,9 +304,15 @@
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class">
@ -340,9 +321,6 @@
<li class=" tsd-kind-enum tsd-parent-kind-class tsd-is-static">
<a href="../enums/recording.status.html" class="tsd-kind-icon">Status</a>
</li>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="recording.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="recording.html#createdat" class="tsd-kind-icon">created<wbr>At</a>
</li>

View File

@ -79,22 +79,22 @@
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="session.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="session.html#activeconnections" class="tsd-kind-icon">active<wbr>Connections</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="session.html#properties" class="tsd-kind-icon">properties</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="session.html#recording" class="tsd-kind-icon">recording</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="session.html#sessionid" class="tsd-kind-icon">session<wbr>Id</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="session.html#close" class="tsd-kind-icon">close</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="session.html#fetch" class="tsd-kind-icon">fetch</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="session.html#forcedisconnect" class="tsd-kind-icon">force<wbr>Disconnect</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="session.html#forceunpublish" class="tsd-kind-icon">force<wbr>Unpublish</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="session.html#generatetoken" class="tsd-kind-icon">generate<wbr>Token</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="session.html#getsessionid" class="tsd-kind-icon">get<wbr>Session<wbr>Id</a></li>
</ul>
@ -102,52 +102,59 @@
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Session<span class="tsd-signature-symbol">(</span>hostname<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, port<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, basicAuth<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, properties<span class="tsd-signature-symbol">?: </span><a href="../interfaces/sessionproperties.html" class="tsd-signature-type">SessionProperties</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="session.html" class="tsd-signature-type">Session</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L35">Session.ts:35</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>hostname: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>port: <span class="tsd-signature-type">number</span></h5>
</li>
<li>
<h5>basicAuth: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> properties: <a href="../interfaces/sessionproperties.html" class="tsd-signature-type">SessionProperties</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="session.html" class="tsd-signature-type">Session</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="activeconnections" class="tsd-anchor"></a>
<h3>active<wbr>Connections</h3>
<div class="tsd-signature tsd-kind-icon">active<wbr>Connections<span class="tsd-signature-symbol">:</span> <a href="connection.html" class="tsd-signature-type">Connection</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L52">Session.ts:52</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Array of active connections to the session. This property always initialize as an empty array and
<strong>will remain unchanged since the last time method <a href="session.html#fetch">Session.fetch</a> was called</strong>. Exceptions to this rule are:</p>
</div>
<ul>
<li>Calling <a href="session.html#forceunpublish">Session.forceUnpublish</a> also automatically updates each affected Connection status</li>
<li>Calling <a href="session.html#forcedisconnect">Session.forceDisconnect</a> automatically updates each affected Connection status</li>
</ul>
<p>To get the array of active connections with their current actual value, you must call <a href="session.html#fetch">Session.fetch</a> before consulting
property <a href="session.html#activeconnections">activeConnections</a></p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="properties" class="tsd-anchor"></a>
<h3>properties</h3>
<div class="tsd-signature tsd-kind-icon">properties<span class="tsd-signature-symbol">:</span> <a href="../interfaces/sessionproperties.html" class="tsd-signature-type">SessionProperties</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L33">Session.ts:33</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L40">Session.ts:40</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Properties defining the session</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="recording" class="tsd-anchor"></a>
<h3>recording</h3>
<div class="tsd-signature tsd-kind-icon">recording<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> =&nbsp;false</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L57">Session.ts:57</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Whether the session is being recorded or not</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="sessionid" class="tsd-anchor"></a>
@ -155,13 +162,130 @@
<div class="tsd-signature tsd-kind-icon">session<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L32">Session.ts:32</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L35">Session.ts:35</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Unique identifier of the Session</p>
</div>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="close" class="tsd-anchor"></a>
<h3>close</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">close<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L142">Session.ts:142</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Gracefully closes the Session: unpublishes all streams and evicts every participant</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A Promise that is resolved if the session has been closed successfully and rejected with an Error object if not</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="fetch" class="tsd-anchor"></a>
<h3>fetch</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">fetch<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L187">Session.ts:187</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Updates every property of the Session with the current status it has in OpenVidu Server. This is especially useful for accessing the list of active
connections to the Session (<a href="session.html#activeconnections">Session.activeConnections</a>) and use those values to call <a href="session.html#forcedisconnect">Session.forceDisconnect</a> or <a href="session.html#forceunpublish">Session.forceUnpublish</a></p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolved to true if the Session status has changed with respect to the server, or to false if not.
This applies to any property or sub-property of the Session object</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="forcedisconnect" class="tsd-anchor"></a>
<h3>force<wbr>Disconnect</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">force<wbr>Disconnect<span class="tsd-signature-symbol">(</span>connection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="connection.html" class="tsd-signature-type">Connection</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L237">Session.ts:237</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Forces the user with Connection <code>connectionId</code> to leave the session. OpenVidu Browser will trigger the proper events on the client-side
(<code>streamDestroyed</code>, <code>connectionDestroyed</code>, <code>sessionDisconnected</code>) with reason set to <code>&quot;forceDisconnectByServer&quot;</code></p>
</div>
<p>You can get <code>connection</code> parameter from <a href="session.html#activeconnections">Session.activeConnections</a> array (<a href="connection.html#connectionid">Connection.connectionId</a> for getting each <code>connectionId</code> property).
Remember to call <a href="session.html#fetch">Session.fetch</a> before to fetch the current actual properties of the Session from OpenVidu Server</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>connection: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="connection.html" class="tsd-signature-type">Connection</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A Promise that is resolved if the user was successfully disconnected and rejected with an Error object if not</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="forceunpublish" class="tsd-anchor"></a>
<h3>force<wbr>Unpublish</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">force<wbr>Unpublish<span class="tsd-signature-symbol">(</span>publisher<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="publisher.html" class="tsd-signature-type">Publisher</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L304">Session.ts:304</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Forces some user to unpublish a Stream (identified by its <code>streamId</code> or the corresponding <a href="publisher.html">Publisher</a> object owning it).
OpenVidu Browser will trigger the proper events on the client-side (<code>streamDestroyed</code>) with reason set to <code>&quot;forceUnpublishByServer&quot;</code>.</p>
</div>
<p>You can get <code>publisher</code> parameter from <a href="connection.html#publishers">Connection.publishers</a> array (<a href="publisher.html#streamid">Publisher.streamId</a> for getting each <code>streamId</code> property).
Remember to call <a href="session.html#fetch">Session.fetch</a> before to fetch the current actual properties of the Session from OpenVidu Server</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>publisher: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="publisher.html" class="tsd-signature-type">Publisher</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A Promise that is resolved if the stream was successfully unpublished and rejected with an Error object if not</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="generatetoken" class="tsd-anchor"></a>
<h3>generate<wbr>Token</h3>
@ -172,7 +296,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L57">Session.ts:57</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L93">Session.ts:93</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -201,7 +325,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L48">Session.ts:48</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Session.ts#L84">Session.ts:84</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -237,9 +361,15 @@
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="recording.html" class="tsd-kind-icon">Recording</a>
</li>
@ -248,15 +378,30 @@
<li class="current tsd-kind-class">
<a href="session.html" class="tsd-kind-icon">Session</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="session.html#constructor" class="tsd-kind-icon">constructor</a>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="session.html#activeconnections" class="tsd-kind-icon">active<wbr>Connections</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="session.html#properties" class="tsd-kind-icon">properties</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="session.html#recording" class="tsd-kind-icon">recording</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="session.html#sessionid" class="tsd-kind-icon">session<wbr>Id</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="session.html#close" class="tsd-kind-icon">close</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="session.html#fetch" class="tsd-kind-icon">fetch</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="session.html#forcedisconnect" class="tsd-kind-icon">force<wbr>Disconnect</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="session.html#forceunpublish" class="tsd-kind-icon">force<wbr>Unpublish</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="session.html#generatetoken" class="tsd-kind-icon">generate<wbr>Token</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../interfaces/sessionproperties.html#mediamode">SessionProperties.mediaMode</a></p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
@ -89,7 +96,7 @@
<div class="tsd-signature tsd-kind-icon">RELAYED<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;RELAYED&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/MediaMode.ts#L23">MediaMode.ts:23</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/MediaMode.ts#L26">MediaMode.ts:26</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -104,7 +111,7 @@
<div class="tsd-signature tsd-kind-icon">ROUTED<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;ROUTED&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/MediaMode.ts#L28">MediaMode.ts:28</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/MediaMode.ts#L31">MediaMode.ts:31</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -149,9 +156,15 @@
<li class=" tsd-kind-enum">
<a href="recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../interfaces/tokenoptions.html#role">TokenOptions.role</a></p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
@ -90,7 +97,7 @@
<div class="tsd-signature tsd-kind-icon">MODERATOR<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;MODERATOR&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenViduRole.ts#L34">OpenViduRole.ts:34</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenViduRole.ts#L37">OpenViduRole.ts:37</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -106,7 +113,7 @@
<div class="tsd-signature tsd-kind-icon">PUBLISHER<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;PUBLISHER&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenViduRole.ts#L28">OpenViduRole.ts:28</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenViduRole.ts#L31">OpenViduRole.ts:31</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -121,7 +128,7 @@
<div class="tsd-signature tsd-kind-icon">SUBSCRIBER<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;SUBSCRIBER&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenViduRole.ts#L23">OpenViduRole.ts:23</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenViduRole.ts#L26">OpenViduRole.ts:26</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -169,9 +176,15 @@
<li class=" tsd-kind-enum">
<a href="recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -70,6 +70,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../classes/recording.html#status-1">Recording.status</a></p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
@ -95,7 +102,7 @@
<div class="tsd-signature tsd-kind-icon">available<span class="tsd-signature-symbol">:</span> </div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L119">Recording.ts:119</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L129">Recording.ts:129</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -112,7 +119,7 @@
<div class="tsd-signature tsd-kind-icon">failed<span class="tsd-signature-symbol">:</span> </div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L124">Recording.ts:124</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L134">Recording.ts:134</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -127,7 +134,7 @@
<div class="tsd-signature tsd-kind-icon">started<span class="tsd-signature-symbol">:</span> </div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L107">Recording.ts:107</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L117">Recording.ts:117</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -142,7 +149,7 @@
<div class="tsd-signature tsd-kind-icon">starting<span class="tsd-signature-symbol">:</span> </div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L102">Recording.ts:102</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L112">Recording.ts:112</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -157,7 +164,7 @@
<div class="tsd-signature tsd-kind-icon">stopped<span class="tsd-signature-symbol">:</span> </div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L112">Recording.ts:112</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/Recording.ts#L122">Recording.ts:122</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -190,9 +197,15 @@
<li class=" tsd-kind-enum">
<a href="recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class">
@ -218,9 +231,6 @@
</li>
</ul>
</li>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="../classes/recording.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="../classes/recording.html#createdat" class="tsd-kind-icon">created<wbr>At</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../interfaces/sessionproperties.html#defaultrecordinglayout">SessionProperties.defaultRecordingLayout</a> and <a href="../interfaces/recordingproperties.html#recordinglayout">RecordingProperties.recordingLayout</a></p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
@ -92,7 +99,7 @@
<div class="tsd-signature tsd-kind-icon">BEST_<wbr>FIT<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;BEST_FIT&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L23">RecordingLayout.ts:23</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L26">RecordingLayout.ts:26</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -107,7 +114,7 @@
<div class="tsd-signature tsd-kind-icon">CUSTOM<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;CUSTOM&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L43">RecordingLayout.ts:43</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L46">RecordingLayout.ts:46</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -122,7 +129,7 @@
<div class="tsd-signature tsd-kind-icon">HORIZONTAL_<wbr>PRESENTATION<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;VERTICAL_PRESENTATION&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L38">RecordingLayout.ts:38</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L41">RecordingLayout.ts:41</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -137,7 +144,7 @@
<div class="tsd-signature tsd-kind-icon">PICTURE_<wbr>IN_<wbr>PICTURE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;PICTURE_IN_PICTURE&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L28">RecordingLayout.ts:28</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L31">RecordingLayout.ts:31</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -152,7 +159,7 @@
<div class="tsd-signature tsd-kind-icon">VERTICAL_<wbr>PRESENTATION<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;VERTICAL_PRESENTATION&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L33">RecordingLayout.ts:33</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingLayout.ts#L36">RecordingLayout.ts:36</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -206,9 +213,15 @@
<li class=" tsd-kind-enum">
<a href="recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../interfaces/sessionproperties.html#recordingmode">SessionProperties.recordingMode</a></p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
@ -89,7 +96,7 @@
<div class="tsd-signature tsd-kind-icon">ALWAYS<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;ALWAYS&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingMode.ts#L24">RecordingMode.ts:24</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingMode.ts#L27">RecordingMode.ts:27</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -105,7 +112,7 @@
<div class="tsd-signature tsd-kind-icon">MANUAL<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> =&nbsp;&quot;MANUAL&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingMode.ts#L30">RecordingMode.ts:30</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingMode.ts#L33">RecordingMode.ts:33</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -151,9 +158,15 @@
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -80,7 +80,9 @@
<section class="tsd-index-section ">
<h3>Classes</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-class"><a href="classes/connection.html" class="tsd-kind-icon">Connection</a></li>
<li class="tsd-kind-class"><a href="classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a></li>
<li class="tsd-kind-class"><a href="classes/publisher.html" class="tsd-kind-icon">Publisher</a></li>
<li class="tsd-kind-class"><a href="classes/recording.html" class="tsd-kind-icon">Recording</a></li>
<li class="tsd-kind-class"><a href="classes/session.html" class="tsd-kind-icon">Session</a></li>
</ul>
@ -119,9 +121,15 @@
<li class=" tsd-kind-enum">
<a href="enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../classes/openvidu.html#startrecording">OpenVidu.startRecording</a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
@ -98,7 +105,7 @@
<div class="tsd-signature tsd-kind-icon">custom<wbr>Layout<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingProperties.ts#L36">RecordingProperties.ts:36</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingProperties.ts#L40">RecordingProperties.ts:40</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -114,12 +121,13 @@
<div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingProperties.ts#L25">RecordingProperties.ts:25</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingProperties.ts#L29">RecordingProperties.ts:29</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The name you want to give to the video file. You can access this same value in your clients on recording events (<code>recordingStarted</code>, <code>recordingStopped</code>)</p>
<p>The name you want to give to the video file. You can access this same value in your clients on recording events (<code>recordingStarted</code>, <code>recordingStopped</code>).
<strong>WARNING: this parameter follows an overwriting policy.</strong> If you name two recordings the same, the newest MP4 file will overwrite the oldest one</p>
</div>
</div>
</section>
@ -129,7 +137,7 @@
<div class="tsd-signature tsd-kind-icon">recording<wbr>Layout<span class="tsd-signature-symbol">:</span> <a href="../enums/recordinglayout.html" class="tsd-signature-type">RecordingLayout</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingProperties.ts#L30">RecordingProperties.ts:30</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/RecordingProperties.ts#L34">RecordingProperties.ts:34</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -162,9 +170,15 @@
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../classes/openvidu.html#createsession">OpenVidu.createSession</a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
@ -100,7 +107,7 @@
<div class="tsd-signature tsd-kind-icon">custom<wbr>Session<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L52">SessionProperties.ts:52</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L58">SessionProperties.ts:58</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -117,14 +124,15 @@
<div class="tsd-signature tsd-kind-icon">default<wbr>Custom<wbr>Layout<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L45">SessionProperties.ts:45</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L51">SessionProperties.ts:51</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Default value used to initialize property <a href="recordingproperties.html#customlayout">RecordingProperties.customLayout</a> of every recording of this session.
You can easily override this value later by setting <a href="recordingproperties.html#customlayout">RecordingProperties.customLayout</a> to any other value</p>
This property can only be defined if <a href="sessionproperties.html#defaultrecordinglayout">SessionProperties.defaultRecordingLayout</a> is set to <a href="../enums/recordinglayout.html#custom">RecordingLayout.CUSTOM</a>.</p>
</div>
<p>You can easily override this value later by setting <a href="recordingproperties.html#customlayout">RecordingProperties.customLayout</a> to any other value</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
@ -133,14 +141,14 @@
<div class="tsd-signature tsd-kind-icon">default<wbr>Recording<wbr>Layout<span class="tsd-signature-symbol">:</span> <a href="../enums/recordinglayout.html" class="tsd-signature-type">RecordingLayout</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L39">SessionProperties.ts:39</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L43">SessionProperties.ts:43</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Default value used to initialize property <a href="recordingproperties.html#recordinglayout">RecordingProperties.recordingLayout</a> of every recording of this session.
You can easily override this value later by setting <a href="recordingproperties.html#recordinglayout">RecordingProperties.recordingLayout</a> to any other value</p>
<p>Default value used to initialize property <a href="recordingproperties.html#recordinglayout">RecordingProperties.recordingLayout</a> of every recording of this session.</p>
</div>
<p>You can easily override this value later by setting <a href="recordingproperties.html#recordinglayout">RecordingProperties.recordingLayout</a> to any other value</p>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
@ -149,7 +157,7 @@
<div class="tsd-signature tsd-kind-icon">media<wbr>Mode<span class="tsd-signature-symbol">:</span> <a href="../enums/mediamode.html" class="tsd-signature-type">MediaMode</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L28">SessionProperties.ts:28</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L31">SessionProperties.ts:31</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -165,7 +173,7 @@
<div class="tsd-signature tsd-kind-icon">recording<wbr>Mode<span class="tsd-signature-symbol">:</span> <a href="../enums/recordingmode.html" class="tsd-signature-type">RecordingMode</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L33">SessionProperties.ts:33</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/SessionProperties.ts#L36">SessionProperties.ts:36</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -198,9 +206,15 @@
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -67,6 +67,13 @@
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See <a href="../classes/session.html#generatetoken">Session.generateToken</a></p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
@ -97,7 +104,7 @@
<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/TokenOptions.ts#L28">TokenOptions.ts:28</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/TokenOptions.ts#L31">TokenOptions.ts:31</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -117,7 +124,7 @@
<div class="tsd-signature tsd-kind-icon">role<span class="tsd-signature-symbol">:</span> <a href="../enums/openvidurole.html" class="tsd-signature-type">OpenViduRole</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/TokenOptions.ts#L33">TokenOptions.ts:33</a></li>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/TokenOptions.ts#L36">TokenOptions.ts:36</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@ -150,9 +157,15 @@
<li class=" tsd-kind-enum">
<a href="../enums/recordingmode.html" class="tsd-kind-icon">Recording<wbr>Mode</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/connection.html" class="tsd-kind-icon">Connection</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/openvidu.html" class="tsd-kind-icon">Open<wbr>Vidu</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/publisher.html" class="tsd-kind-icon">Publisher</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/recording.html" class="tsd-kind-icon">Recording</a>
</li>

View File

@ -4,20 +4,62 @@ import { Recording } from './Recording';
import { RecordingProperties } from './RecordingProperties';
export declare class OpenVidu {
private urlOpenViduServer;
private static readonly API_RECORDINGS;
private static readonly API_RECORDINGS_START;
private static readonly API_RECORDINGS_STOP;
private hostname;
private port;
private basicAuth;
private Buffer;
/**
* @hidden
*/
static hostname: string;
/**
* @hidden
*/
static port: number;
/**
* @hidden
*/
static basicAuth: string;
/**
* @hidden
*/
static readonly API_RECORDINGS: string;
/**
* @hidden
*/
static readonly API_RECORDINGS_START: string;
/**
* @hidden
*/
static readonly API_RECORDINGS_STOP: string;
/**
* @hidden
*/
static readonly API_SESSIONS: string;
/**
* @hidden
*/
static readonly API_TOKENS: string;
private static o;
/**
* Array of active sessions. **This value will remain unchanged since the last time method [[OpenVidu.fetch]]
* was called**. Exceptions to this rule are:
*
* - Calling [[Session.fetch]] updates that specific Session status
* - Calling [[Session.close]] automatically removes the Session from the list of active Sessions
* - Calling [[Session.forceDisconnect]] automatically updates the inner affected connections for that specific Session
* - Calling [[Session.forceUnpublish]] also automatically updates the inner affected connections for that specific Session
* - Calling [[OpenVidu.startRecording]] and [[OpenVidu.stopRecording]] automatically updates the recording status of the
* Session ([[Session.recording]])
*
* To get the array of active sessions with their current actual value, you must call [[OpenVidu.fetch]] before consulting
* property [[activeSessions]]
*/
activeSessions: Session[];
/**
* @param urlOpenViduServer Public accessible IP where your instance of OpenVidu Server is up an running
* @param secret Secret used on OpenVidu Server initialization
*/
constructor(urlOpenViduServer: string, secret: string);
/**
* Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId`
* Creates an OpenVidu session. You can call [[Session.getSessionId]] inside the resolved promise to retrieve the `sessionId`
*
* @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not.
*/
@ -60,6 +102,18 @@ export declare class OpenVidu {
* - `409`: the recording has `started` status. Stop it before deletion
*/
deleteRecording(recordingId: string): Promise<Error>;
/**
* Updates every property of every active Session with the current status they have in OpenVidu Server.
* After calling this method you can access the updated array of active sessions in [[activeSessions]]
*
* @returns A promise resolved to true if any Session status has changed with respect to the server, or to false if not.
* This applies to any property or sub-property of any of the sessions locally stored in OpenVidu Node Client
*/
fetch(): Promise<boolean>;
private getBasicAuth;
private setHostnameAndPort;
/**
* @hidden
*/
static getActiveSessions(): Session[];
}

View File

@ -27,20 +27,37 @@ var OpenVidu = /** @class */ (function () {
function OpenVidu(urlOpenViduServer, secret) {
this.urlOpenViduServer = urlOpenViduServer;
this.Buffer = require('buffer/').Buffer;
/**
* Array of active sessions. **This value will remain unchanged since the last time method [[OpenVidu.fetch]]
* was called**. Exceptions to this rule are:
*
* - Calling [[Session.fetch]] updates that specific Session status
* - Calling [[Session.close]] automatically removes the Session from the list of active Sessions
* - Calling [[Session.forceDisconnect]] automatically updates the inner affected connections for that specific Session
* - Calling [[Session.forceUnpublish]] also automatically updates the inner affected connections for that specific Session
* - Calling [[OpenVidu.startRecording]] and [[OpenVidu.stopRecording]] automatically updates the recording status of the
* Session ([[Session.recording]])
*
* To get the array of active sessions with their current actual value, you must call [[OpenVidu.fetch]] before consulting
* property [[activeSessions]]
*/
this.activeSessions = [];
this.setHostnameAndPort();
this.basicAuth = this.getBasicAuth(secret);
OpenVidu.basicAuth = this.getBasicAuth(secret);
OpenVidu.o = this;
}
/**
* Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId`
* Creates an OpenVidu session. You can call [[Session.getSessionId]] inside the resolved promise to retrieve the `sessionId`
*
* @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not.
*/
OpenVidu.prototype.createSession = function (properties) {
var _this = this;
return new Promise(function (resolve, reject) {
var session = new Session_1.Session(_this.hostname, _this.port, _this.basicAuth, properties);
var session = new Session_1.Session(properties);
session.getSessionIdHttp()
.then(function (sessionId) {
_this.activeSessions.push(session);
resolve(session);
})
.catch(function (error) {
@ -53,6 +70,7 @@ var OpenVidu = /** @class */ (function () {
*
* @param sessionId The `sessionId` of the [[Session]] you want to start recording
* @param name The name you want to give to the video file. You can access this same value in your clients on recording events (`recordingStarted`, `recordingStopped`)
* **WARNING: this parameter follows an overwriting policy.** If you name two recordings the same, the newest MP4 file will overwrite the oldest one
*
* @returns A Promise that is resolved to the [[Recording]] if it successfully started (the recording can be stopped with guarantees) and rejected with an Error object if not. This Error object has as `message` property with the following values:
* - `404`: no session exists for the passed `sessionId`
@ -91,16 +109,24 @@ var OpenVidu = /** @class */ (function () {
customLayout: ''
});
}
axios_1.default.post('https://' + _this.hostname + ':' + _this.port + OpenVidu.API_RECORDINGS + OpenVidu.API_RECORDINGS_START, data, {
axios_1.default.post('https://' + OpenVidu.hostname + ':' + OpenVidu.port + OpenVidu.API_RECORDINGS + OpenVidu.API_RECORDINGS_START, data, {
headers: {
'Authorization': _this.basicAuth,
'Authorization': OpenVidu.basicAuth,
'Content-Type': 'application/json'
}
})
.then(function (res) {
if (res.status === 200) {
// SUCCESS response from openvidu-server (Recording in JSON format). Resolve new Recording
resolve(new Recording_1.Recording(res.data));
var r_1 = new Recording_1.Recording(res.data);
var activeSession = _this.activeSessions.find(function (s) { return s.sessionId === r_1.sessionId; });
if (!!activeSession) {
activeSession.recording = true;
}
else {
console.warn("No active session found for sessionId '" + r_1.sessionId + "'. This instance of OpenVidu Node Client didn't create this session");
}
resolve(r_1);
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
@ -136,16 +162,24 @@ var OpenVidu = /** @class */ (function () {
OpenVidu.prototype.stopRecording = function (recordingId) {
var _this = this;
return new Promise(function (resolve, reject) {
axios_1.default.post('https://' + _this.hostname + ':' + _this.port + OpenVidu.API_RECORDINGS + OpenVidu.API_RECORDINGS_STOP + '/' + recordingId, undefined, {
axios_1.default.post('https://' + OpenVidu.hostname + ':' + OpenVidu.port + OpenVidu.API_RECORDINGS + OpenVidu.API_RECORDINGS_STOP + '/' + recordingId, undefined, {
headers: {
'Authorization': _this.basicAuth,
'Authorization': OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (res) {
if (res.status === 200) {
// SUCCESS response from openvidu-server (Recording in JSON format). Resolve new Recording
resolve(new Recording_1.Recording(res.data));
var r_2 = new Recording_1.Recording(res.data);
var activeSession = _this.activeSessions.find(function (s) { return s.sessionId === r_2.sessionId; });
if (!!activeSession) {
activeSession.recording = false;
}
else {
console.warn("No active session found for sessionId '" + r_2.sessionId + "'. This instance of OpenVidu Node Client didn't create this session");
}
resolve(r_2);
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
@ -157,9 +191,8 @@ var OpenVidu = /** @class */ (function () {
reject(new Error(error.response.status.toString()));
}
else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
// The request was made but no response was received `error.request` is an instance of XMLHttpRequest
// in the browser and an instance of http.ClientRequest in node.js
console.error(error.request);
}
else {
@ -178,11 +211,10 @@ var OpenVidu = /** @class */ (function () {
* - `404`: no recording exists for the passed `recordingId`
*/
OpenVidu.prototype.getRecording = function (recordingId) {
var _this = this;
return new Promise(function (resolve, reject) {
axios_1.default.get('https://' + _this.hostname + ':' + _this.port + OpenVidu.API_RECORDINGS + '/' + recordingId, {
axios_1.default.get('https://' + OpenVidu.hostname + ':' + OpenVidu.port + OpenVidu.API_RECORDINGS + '/' + recordingId, {
headers: {
'Authorization': _this.basicAuth,
'Authorization': OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
@ -219,12 +251,10 @@ var OpenVidu = /** @class */ (function () {
* @returns A Promise that is resolved to an array with all existing recordings
*/
OpenVidu.prototype.listRecordings = function () {
var _this = this;
return new Promise(function (resolve, reject) {
axios_1.default.get('https://' + _this.hostname + ':' + _this.port + OpenVidu.API_RECORDINGS, {
axios_1.default.get('https://' + OpenVidu.hostname + ':' + OpenVidu.port + OpenVidu.API_RECORDINGS, {
headers: {
'Authorization': _this.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
Authorization: OpenVidu.basicAuth
}
})
.then(function (res) {
@ -270,11 +300,10 @@ var OpenVidu = /** @class */ (function () {
* - `409`: the recording has `started` status. Stop it before deletion
*/
OpenVidu.prototype.deleteRecording = function (recordingId) {
var _this = this;
return new Promise(function (resolve, reject) {
axios_1.default.delete('https://' + _this.hostname + ':' + _this.port + OpenVidu.API_RECORDINGS + '/' + recordingId, {
axios_1.default.delete('https://' + OpenVidu.hostname + ':' + OpenVidu.port + OpenVidu.API_RECORDINGS + '/' + recordingId, {
headers: {
'Authorization': _this.basicAuth,
'Authorization': OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
@ -305,26 +334,123 @@ var OpenVidu = /** @class */ (function () {
});
});
};
/**
* Updates every property of every active Session with the current status they have in OpenVidu Server.
* After calling this method you can access the updated array of active sessions in [[activeSessions]]
*
* @returns A promise resolved to true if any Session status has changed with respect to the server, or to false if not.
* This applies to any property or sub-property of any of the sessions locally stored in OpenVidu Node Client
*/
OpenVidu.prototype.fetch = function () {
var _this = this;
return new Promise(function (resolve, reject) {
axios_1.default.get('https://' + OpenVidu.hostname + ':' + OpenVidu.port + OpenVidu.API_SESSIONS, {
headers: {
Authorization: OpenVidu.basicAuth
}
})
.then(function (res) {
if (res.status === 200) {
// Array to store fetched sessionIds and later remove closed sessions
var fetchedSessionIds_1 = [];
// Boolean to store if any Session has changed
var hasChanged_1 = false;
res.data.content.forEach(function (session) {
fetchedSessionIds_1.push(session.sessionId);
var storedSession = _this.activeSessions.find(function (s) { return s.sessionId === session.sessionId; });
if (!!storedSession) {
var beforeJSON = JSON.stringify(storedSession);
storedSession = storedSession.resetSessionWithJson(session);
var afterJSON = JSON.stringify(storedSession);
var changed = !(beforeJSON === afterJSON);
console.log("Available session '" + storedSession.sessionId + "' info fetched. Any change: " + changed);
hasChanged_1 = hasChanged_1 || changed;
}
else {
_this.activeSessions.push(new Session_1.Session(session));
console.log("New session '" + session.sessionId + "' info fetched");
hasChanged_1 = true;
}
});
// Remove closed sessions from activeSessions array
_this.activeSessions = _this.activeSessions.filter(function (session) {
if (fetchedSessionIds_1.includes(session.sessionId)) {
return true;
}
else {
console.log("Removing closed session '" + session.sessionId + "'");
hasChanged_1 = true;
return false;
}
});
console.log('Active sessions info fetched: ', fetchedSessionIds_1);
resolve(hasChanged_1);
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.status.toString()));
}
}).catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code (not 2xx)
reject(new Error(error.response.status.toString()));
}
else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.error(error.request);
}
else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
});
});
};
OpenVidu.prototype.getBasicAuth = function (secret) {
return 'Basic ' + this.Buffer('OPENVIDUAPP:' + secret).toString('base64');
};
OpenVidu.prototype.setHostnameAndPort = function () {
var 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, ''));
OpenVidu.hostname = this.urlOpenViduServer.split(':')[1].replace(/\//g, '');
OpenVidu.port = parseInt(this.urlOpenViduServer.split(':')[2].replace(/\//g, ''));
}
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, ''));
OpenVidu.hostname = this.urlOpenViduServer.split(':')[0].replace(/\//g, '');
OpenVidu.port = parseInt(this.urlOpenViduServer.split(':')[1].replace(/\//g, ''));
}
else {
console.error("URL format incorrect: it must contain hostname and port (current value: '" + this.urlOpenViduServer + "')");
}
};
/**
* @hidden
*/
OpenVidu.getActiveSessions = function () {
return this.o.activeSessions;
};
/**
* @hidden
*/
OpenVidu.API_RECORDINGS = '/api/recordings';
/**
* @hidden
*/
OpenVidu.API_RECORDINGS_START = '/start';
/**
* @hidden
*/
OpenVidu.API_RECORDINGS_STOP = '/stop';
/**
* @hidden
*/
OpenVidu.API_SESSIONS = '/api/sessions';
/**
* @hidden
*/
OpenVidu.API_TOKENS = '/api/tokens';
return OpenVidu;
}());
exports.OpenVidu = OpenVidu;

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,6 @@
/**
* See [[TokenOptions.role]]
*/
export declare enum OpenViduRole {
/**
* Can subscribe to published Streams of other users

View File

@ -16,6 +16,9 @@
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* See [[TokenOptions.role]]
*/
var OpenViduRole;
(function (OpenViduRole) {
/**

View File

@ -1 +1 @@
{"version":3,"file":"OpenViduRole.js","sourceRoot":"","sources":["../src/OpenViduRole.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,IAAY,YAiBX;AAjBD,WAAY,YAAY;IAEpB;;OAEG;IACH,yCAAyB,CAAA;IAEzB;;OAEG;IACH,uCAAuB,CAAA;IAEvB;;;OAGG;IACH,uCAAuB,CAAA;AAC3B,CAAC,EAjBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAiBvB"}
{"version":3,"file":"OpenViduRole.js","sourceRoot":"","sources":["../src/OpenViduRole.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH;;GAEG;AACH,IAAY,YAiBX;AAjBD,WAAY,YAAY;IAEpB;;OAEG;IACH,yCAAyB,CAAA;IAEzB;;OAEG;IACH,uCAAuB,CAAA;IAEvB;;;OAGG;IACH,uCAAuB,CAAA;AAC3B,CAAC,EAjBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAiBvB"}

View File

@ -1,15 +1,35 @@
import { Connection } from './Connection';
import { Publisher } from './Publisher';
import { SessionProperties } from './SessionProperties';
import { TokenOptions } from './TokenOptions';
export declare class Session {
private hostname;
private port;
private basicAuth;
private static readonly API_SESSIONS;
private static readonly API_TOKENS;
/**
* Unique identifier of the Session
*/
sessionId: string;
/**
* Properties defining the session
*/
properties: SessionProperties;
private Buffer;
constructor(hostname: string, port: number, basicAuth: string, properties?: SessionProperties);
/**
* Array of active connections to the session. This property always initialize as an empty array and
* **will remain unchanged since the last time method [[Session.fetch]] was called**. Exceptions to this rule are:
*
* - Calling [[Session.forceUnpublish]] also automatically updates each affected Connection status
* - Calling [[Session.forceDisconnect]] automatically updates each affected Connection status
*
* To get the array of active connections with their current actual value, you must call [[Session.fetch]] before consulting
* property [[activeConnections]]
*/
activeConnections: Connection[];
/**
* Whether the session is being recorded or not
*/
recording: boolean;
/**
* @hidden
*/
constructor(propertiesOrJson?: any);
/**
* Gets the unique identifier of the Session
*/
@ -20,8 +40,46 @@ export declare class Session {
* @returns A Promise that is resolved to the _token_ if success and rejected with an Error object if not
*/
generateToken(tokenOptions?: TokenOptions): Promise<string>;
/**
* Gracefully closes the Session: unpublishes all streams and evicts every participant
*
* @returns A Promise that is resolved if the session has been closed successfully and rejected with an Error object if not
*/
close(): Promise<any>;
/**
* Updates every property of the Session with the current status it has in OpenVidu Server. This is especially useful for accessing the list of active
* connections to the Session ([[Session.activeConnections]]) and use those values to call [[Session.forceDisconnect]] or [[Session.forceUnpublish]]
*
* @returns A promise resolved to true if the Session status has changed with respect to the server, or to false if not.
* This applies to any property or sub-property of the Session object
*/
fetch(): Promise<boolean>;
/**
* Forces the user with Connection `connectionId` to leave the session. OpenVidu Browser will trigger the proper events on the client-side
* (`streamDestroyed`, `connectionDestroyed`, `sessionDisconnected`) with reason set to `"forceDisconnectByServer"`
*
* You can get `connection` parameter from [[Session.activeConnections]] array ([[Connection.connectionId]] for getting each `connectionId` property).
* Remember to call [[Session.fetch]] before to fetch the current actual properties of the Session from OpenVidu Server
*
* @returns A Promise that is resolved if the user was successfully disconnected and rejected with an Error object if not
*/
forceDisconnect(connection: string | Connection): Promise<any>;
/**
* Forces some user to unpublish a Stream (identified by its `streamId` or the corresponding [[Publisher]] object owning it).
* OpenVidu Browser will trigger the proper events on the client-side (`streamDestroyed`) with reason set to `"forceUnpublishByServer"`.
*
* You can get `publisher` parameter from [[Connection.publishers]] array ([[Publisher.streamId]] for getting each `streamId` property).
* Remember to call [[Session.fetch]] before to fetch the current actual properties of the Session from OpenVidu Server
*
* @returns A Promise that is resolved if the stream was successfully unpublished and rejected with an Error object if not
*/
forceUnpublish(publisher: string | Publisher): Promise<any>;
/**
* @hidden
*/
getSessionIdHttp(): Promise<string>;
/**
* @hidden
*/
resetSessionWithJson(json: any): Session;
}

View File

@ -16,23 +16,52 @@
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
var Connection_1 = require("./Connection");
var MediaMode_1 = require("./MediaMode");
var OpenVidu_1 = require("./OpenVidu");
var OpenViduRole_1 = require("./OpenViduRole");
var Publisher_1 = require("./Publisher");
var RecordingLayout_1 = require("./RecordingLayout");
var RecordingMode_1 = require("./RecordingMode");
var axios_1 = require("axios");
var Session = /** @class */ (function () {
function Session(hostname, port, basicAuth, properties) {
this.hostname = hostname;
this.port = port;
this.basicAuth = basicAuth;
this.Buffer = require('buffer/').Buffer;
if (!properties) {
this.properties = {};
/**
* @hidden
*/
function Session(propertiesOrJson) {
/**
* Array of active connections to the session. This property always initialize as an empty array and
* **will remain unchanged since the last time method [[Session.fetch]] was called**. Exceptions to this rule are:
*
* - Calling [[Session.forceUnpublish]] also automatically updates each affected Connection status
* - Calling [[Session.forceDisconnect]] automatically updates each affected Connection status
*
* To get the array of active connections with their current actual value, you must call [[Session.fetch]] before consulting
* property [[activeConnections]]
*/
this.activeConnections = [];
/**
* Whether the session is being recorded or not
*/
this.recording = false;
if (!!propertiesOrJson) {
// Defined parameter
if (!!propertiesOrJson.sessionId) {
// Parameter is a JSON representation of Session ('sessionId' property always defined)
this.resetSessionWithJson(propertiesOrJson);
}
else {
// Parameter is a SessionProperties object
this.properties = propertiesOrJson;
}
}
else {
this.properties = properties;
// Empty parameter
this.properties = {};
}
this.properties.mediaMode = !!this.properties.mediaMode ? this.properties.mediaMode : MediaMode_1.MediaMode.ROUTED;
this.properties.recordingMode = !!this.properties.recordingMode ? this.properties.recordingMode : RecordingMode_1.RecordingMode.MANUAL;
this.properties.defaultRecordingLayout = !!this.properties.defaultRecordingLayout ? this.properties.defaultRecordingLayout : RecordingLayout_1.RecordingLayout.BEST_FIT;
}
/**
* Gets the unique identifier of the Session
@ -53,9 +82,9 @@ var Session = /** @class */ (function () {
role: (!!tokenOptions && !!tokenOptions.role) ? tokenOptions.role : OpenViduRole_1.OpenViduRole.PUBLISHER,
data: (!!tokenOptions && !!tokenOptions.data) ? tokenOptions.data : ''
});
axios_1.default.post('https://' + _this.hostname + ':' + _this.port + Session.API_TOKENS, data, {
axios_1.default.post('https://' + OpenVidu_1.OpenVidu.hostname + ':' + OpenVidu_1.OpenVidu.port + OpenVidu_1.OpenVidu.API_TOKENS, data, {
headers: {
'Authorization': _this.basicAuth,
'Authorization': OpenVidu_1.OpenVidu.basicAuth,
'Content-Type': 'application/json'
}
})
@ -86,6 +115,220 @@ var Session = /** @class */ (function () {
});
});
};
/**
* Gracefully closes the Session: unpublishes all streams and evicts every participant
*
* @returns A Promise that is resolved if the session has been closed successfully and rejected with an Error object if not
*/
Session.prototype.close = function () {
var _this = this;
return new Promise(function (resolve, reject) {
axios_1.default.delete('https://' + OpenVidu_1.OpenVidu.hostname + ':' + OpenVidu_1.OpenVidu.port + OpenVidu_1.OpenVidu.API_SESSIONS + '/' + _this.sessionId, {
headers: {
'Authorization': OpenVidu_1.OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (res) {
if (res.status === 204) {
// SUCCESS response from openvidu-server
var indexToRemove = OpenVidu_1.OpenVidu.getActiveSessions().findIndex(function (s) { return s.sessionId === _this.sessionId; });
OpenVidu_1.OpenVidu.getActiveSessions().splice(indexToRemove, 1);
resolve();
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.status.toString()));
}
}).catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code (not 2xx)
reject(new Error(error.response.status.toString()));
}
else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.error(error.request);
}
else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
});
});
};
/**
* Updates every property of the Session with the current status it has in OpenVidu Server. This is especially useful for accessing the list of active
* connections to the Session ([[Session.activeConnections]]) and use those values to call [[Session.forceDisconnect]] or [[Session.forceUnpublish]]
*
* @returns A promise resolved to true if the Session status has changed with respect to the server, or to false if not.
* This applies to any property or sub-property of the Session object
*/
Session.prototype.fetch = function () {
var _this = this;
return new Promise(function (resolve, reject) {
var beforeJSON = JSON.stringify(_this);
axios_1.default.get('https://' + OpenVidu_1.OpenVidu.hostname + ':' + OpenVidu_1.OpenVidu.port + OpenVidu_1.OpenVidu.API_SESSIONS + '/' + _this.sessionId, {
headers: {
'Authorization': OpenVidu_1.OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (res) {
if (res.status === 200) {
// SUCCESS response from openvidu-server
_this.resetSessionWithJson(res.data);
var afterJSON = JSON.stringify(_this);
var hasChanged = !(beforeJSON === afterJSON);
console.log("Session info fetched for session '" + _this.sessionId + "'. Any change: " + hasChanged);
resolve(hasChanged);
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.status.toString()));
}
}).catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code (not 2xx)
reject(new Error(error.response.status.toString()));
}
else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.error(error.request);
}
else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
});
});
};
/**
* Forces the user with Connection `connectionId` to leave the session. OpenVidu Browser will trigger the proper events on the client-side
* (`streamDestroyed`, `connectionDestroyed`, `sessionDisconnected`) with reason set to `"forceDisconnectByServer"`
*
* You can get `connection` parameter from [[Session.activeConnections]] array ([[Connection.connectionId]] for getting each `connectionId` property).
* Remember to call [[Session.fetch]] before to fetch the current actual properties of the Session from OpenVidu Server
*
* @returns A Promise that is resolved if the user was successfully disconnected and rejected with an Error object if not
*/
Session.prototype.forceDisconnect = function (connection) {
var _this = this;
return new Promise(function (resolve, reject) {
var connectionId = typeof connection === 'string' ? connection : connection.connectionId;
axios_1.default.delete('https://' + OpenVidu_1.OpenVidu.hostname + ':' + OpenVidu_1.OpenVidu.port + OpenVidu_1.OpenVidu.API_SESSIONS + '/' + _this.sessionId + '/connection/' + connectionId, {
headers: {
'Authorization': OpenVidu_1.OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (res) {
if (res.status === 204) {
// SUCCESS response from openvidu-server
// Remove connection from activeConnections array
var connectionClosed_1;
_this.activeConnections = _this.activeConnections.filter(function (con) {
if (con.connectionId !== connectionId) {
return true;
}
else {
connectionClosed_1 = con;
return false;
}
});
// Remove every Publisher of the closed connection from every subscriber list of other connections
if (!!connectionClosed_1) {
connectionClosed_1.publishers.forEach(function (publisher) {
_this.activeConnections.forEach(function (con) {
con.subscribers = con.subscribers.filter(function (subscriber) { return subscriber !== publisher.streamId; });
});
});
}
else {
console.warn("The closed connection wasn't fetched in OpenVidu Java Client. No changes in the collection of active connections of the Session");
}
console.log("Connection '" + connectionId + "' closed");
resolve();
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.status.toString()));
}
})
.catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code (not 2xx)
reject(new Error(error.response.status.toString()));
}
else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.error(error.request);
}
else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
});
});
};
/**
* Forces some user to unpublish a Stream (identified by its `streamId` or the corresponding [[Publisher]] object owning it).
* OpenVidu Browser will trigger the proper events on the client-side (`streamDestroyed`) with reason set to `"forceUnpublishByServer"`.
*
* You can get `publisher` parameter from [[Connection.publishers]] array ([[Publisher.streamId]] for getting each `streamId` property).
* Remember to call [[Session.fetch]] before to fetch the current actual properties of the Session from OpenVidu Server
*
* @returns A Promise that is resolved if the stream was successfully unpublished and rejected with an Error object if not
*/
Session.prototype.forceUnpublish = function (publisher) {
var _this = this;
return new Promise(function (resolve, reject) {
var streamId = typeof publisher === 'string' ? publisher : publisher.streamId;
axios_1.default.delete('https://' + OpenVidu_1.OpenVidu.hostname + ':' + OpenVidu_1.OpenVidu.port + OpenVidu_1.OpenVidu.API_SESSIONS + '/' + _this.sessionId + '/stream/' + streamId, {
headers: {
'Authorization': OpenVidu_1.OpenVidu.basicAuth,
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (res) {
if (res.status === 204) {
// SUCCESS response from openvidu-server
_this.activeConnections.forEach(function (connection) {
// Try to remove the Publisher from the Connection publishers collection
connection.publishers = connection.publishers.filter(function (pub) { return pub.streamId !== streamId; });
// Try to remove the Publisher from the Connection subscribers collection
connection.subscribers = connection.subscribers.filter(function (sub) { return sub !== streamId; });
});
console.log("Stream '" + streamId + "' unpublished");
resolve();
}
else {
// ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.status.toString()));
}
}).catch(function (error) {
if (error.response) {
// The request was made and the server responded with a status code (not 2xx)
reject(new Error(error.response.status.toString()));
}
else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
console.error(error.request);
}
else {
// Something happened in setting up the request that triggered an Error
console.error('Error', error.message);
}
});
});
};
/**
* @hidden
*/
@ -102,9 +345,9 @@ var Session = /** @class */ (function () {
defaultCustomLayout: !!_this.properties.defaultCustomLayout ? _this.properties.defaultCustomLayout : '',
customSessionId: !!_this.properties.customSessionId ? _this.properties.customSessionId : ''
});
axios_1.default.post('https://' + _this.hostname + ':' + _this.port + Session.API_SESSIONS, data, {
axios_1.default.post('https://' + OpenVidu_1.OpenVidu.hostname + ':' + OpenVidu_1.OpenVidu.port + OpenVidu_1.OpenVidu.API_SESSIONS, data, {
headers: {
'Authorization': _this.basicAuth,
'Authorization': OpenVidu_1.OpenVidu.basicAuth,
'Content-Type': 'application/json'
}
})
@ -143,8 +386,44 @@ var Session = /** @class */ (function () {
});
});
};
Session.API_SESSIONS = '/api/sessions';
Session.API_TOKENS = '/api/tokens';
/**
* @hidden
*/
Session.prototype.resetSessionWithJson = function (json) {
var _this = this;
this.sessionId = json.sessionId;
this.recording = json.recording;
var customSessionId;
var defaultCustomLayout;
if (!!this.properties) {
customSessionId = this.properties.customSessionId;
defaultCustomLayout = !!json.defaultCustomLayout ? json.defaultCustomLayout : this.properties.defaultCustomLayout;
}
this.properties = {
mediaMode: json.mediaMode,
recordingMode: json.recordingMode,
defaultRecordingLayout: json.defaultRecordingLayout
};
if (!!customSessionId) {
this.properties.customSessionId = customSessionId;
}
if (!!defaultCustomLayout) {
this.properties.defaultCustomLayout = defaultCustomLayout;
}
this.activeConnections = [];
json.connections.content.forEach(function (connection) {
var publishers = [];
connection.publishers.forEach(function (publisher) {
publishers.push(new Publisher_1.Publisher(publisher));
});
var subscribers = [];
connection.subscribers.forEach(function (subscriber) {
subscribers.push(subscriber.streamId);
});
_this.activeConnections.push(new Connection_1.Connection(connection.connectionId, connection.role, connection.token, connection.serverData, connection.clientData, publishers, subscribers));
});
return this;
};
return Session;
}());
exports.Session = Session;

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,7 @@
import { OpenViduRole } from './OpenViduRole';
/**
* See [[Session.generateToken]]
*/
export interface TokenOptions {
/**
* Secure (server-side) data associated to this token. Every client will receive this data in property `Connection.data`. Object `Connection` can be retrieved by subscribing to event `connectionCreated` of Session object.

View File

@ -8,3 +8,5 @@ export * from './RecordingLayout';
export * from './RecordingMode';
export * from './Recording';
export * from './RecordingProperties';
export * from './Connection';
export * from './Publisher';

View File

@ -10,4 +10,6 @@ __export(require("./MediaMode"));
__export(require("./RecordingLayout"));
__export(require("./RecordingMode"));
__export(require("./Recording"));
__export(require("./Connection"));
__export(require("./Publisher"));
//# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"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"}
{"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;AAE5B,kCAA6B;AAC7B,iCAA4B"}