CloudflareCallDoc / global.html
manhteky123's picture
Upload 58 files
a8c4cef verified
<!DOCTYPE html>
<html lang="en">
<!-- Mirrored from cloudflarecalls.jamesfuthey.com/docs/global.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 19 Feb 2025 14:59:44 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><!-- /Added by HTTrack -->
<head>
<meta charset="utf-8">
<title>Global - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
<script src="scripts/nav.js" defer></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav >
<h2><a href="index-2.html">Home</a></h2><h3>Classes</h3><ul><li><a href="CloudflareCalls.html">CloudflareCalls</a><ul class='methods'><li data-type='method'><a href="CloudflareCalls.html#createRoom">createRoom</a></li><li data-type='method'><a href="CloudflareCalls.html#getAvailableDevices">getAvailableDevices</a></li><li data-type='method'><a href="CloudflareCalls.html#getConnectionStats">getConnectionStats</a></li><li data-type='method'><a href="CloudflareCalls.html#getSessionState">getSessionState</a></li><li data-type='method'><a href="CloudflareCalls.html#getTrackStatus">getTrackStatus</a></li><li data-type='method'><a href="CloudflareCalls.html#getUserInfo">getUserInfo</a></li><li data-type='method'><a href="CloudflareCalls.html#getUserMetadata">getUserMetadata</a></li><li data-type='method'><a href="CloudflareCalls.html#joinRoom">joinRoom</a></li><li data-type='method'><a href="CloudflareCalls.html#leaveRoom">leaveRoom</a></li><li data-type='method'><a href="CloudflareCalls.html#listParticipants">listParticipants</a></li><li data-type='method'><a href="CloudflareCalls.html#listRooms">listRooms</a></li><li data-type='method'><a href="CloudflareCalls.html#onConnectionStats">onConnectionStats</a></li><li data-type='method'><a href="CloudflareCalls.html#onDataMessage">onDataMessage</a></li><li data-type='method'><a href="CloudflareCalls.html#onParticipantJoined">onParticipantJoined</a></li><li data-type='method'><a href="CloudflareCalls.html#onParticipantLeft">onParticipantLeft</a></li><li data-type='method'><a href="CloudflareCalls.html#onRemoteTrack">onRemoteTrack</a></li><li data-type='method'><a href="CloudflareCalls.html#onRemoteTrackUnpublished">onRemoteTrackUnpublished</a></li><li data-type='method'><a href="CloudflareCalls.html#onRoomMetadataUpdated">onRoomMetadataUpdated</a></li><li data-type='method'><a href="CloudflareCalls.html#onTrackStatusChanged">onTrackStatusChanged</a></li><li data-type='method'><a href="CloudflareCalls.html#onWebSocketMessage">onWebSocketMessage</a></li><li data-type='method'><a href="CloudflareCalls.html#previewMedia">previewMedia</a></li><li data-type='method'><a href="CloudflareCalls.html#publishTracks">publishTracks</a></li><li data-type='method'><a href="CloudflareCalls.html#selectAudioInputDevice">selectAudioInputDevice</a></li><li data-type='method'><a href="CloudflareCalls.html#selectAudioOutputDevice">selectAudioOutputDevice</a></li><li data-type='method'><a href="CloudflareCalls.html#selectVideoInputDevice">selectVideoInputDevice</a></li><li data-type='method'><a href="CloudflareCalls.html#sendDataToAll">sendDataToAll</a></li><li data-type='method'><a href="CloudflareCalls.html#setDebugMode">setDebugMode</a></li><li data-type='method'><a href="CloudflareCalls.html#setMediaQuality">setMediaQuality</a></li><li data-type='method'><a href="CloudflareCalls.html#setToken">setToken</a></li><li data-type='method'><a href="CloudflareCalls.html#setUserMetadata">setUserMetadata</a></li><li data-type='method'><a href="CloudflareCalls.html#shareScreen">shareScreen</a></li><li data-type='method'><a href="CloudflareCalls.html#startStatsMonitoring">startStatsMonitoring</a></li><li data-type='method'><a href="CloudflareCalls.html#stopStatsMonitoring">stopStatsMonitoring</a></li><li data-type='method'><a href="CloudflareCalls.html#toggleMedia">toggleMedia</a></li><li data-type='method'><a href="CloudflareCalls.html#unpublishAllTracks">unpublishAllTracks</a></li><li data-type='method'><a href="CloudflareCalls.html#updatePublishedTracks">updatePublishedTracks</a></li><li data-type='method'><a href="CloudflareCalls.html#updateRoomMetadata">updateRoomMetadata</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#broadcastToRoom">broadcastToRoom</a></li><li><a href="global.html#getRoomIdByUserId">getRoomIdByUserId</a></li><li><a href="global.html#getWebSocketByUserId">getWebSocketByUserId</a></li><li><a href="global.html#handleDataMessage">handleDataMessage</a></li><li><a href="global.html#handleWSDisconnect">handleWSDisconnect</a></li><li><a href="global.html#handleWSJoin">handleWSJoin</a></li><li><a href="global.html#rooms">rooms</a></li><li><a href="global.html#server">server</a></li></ul>
</nav>
<div id="main">
<h1 class="page-title">Global</h1>
<section>
<header>
<h2>
</h2>
</header>
<article>
<div class="container-overview">
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="rooms"><span class="type-signature type-signature-constant">(constant) </span>rooms<span class="type-signature"> :Object.&lt;string, Array.&lt;<a href="global.html#Room">Room</a>>></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line90">line 90</a>
</li></ul></dd>
</dl>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object.&lt;string, Array.&lt;<a href="global.html#Room">Room</a>>></span>
</li>
</ul>
<h4 class="name" id="server"><span class="type-signature type-signature-constant">(constant) </span>server<span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Sets up the WebSocket server and handles incoming connections and messages.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line640">line 640</a>
</li></ul></dd>
</dl>
<div class="description usertext">
Sets up the WebSocket server and handles incoming connections and messages.
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="broadcastToRoom"><span class="type-signature"></span>broadcastToRoom<span class="signature">(roomId, message, excludeUserId)</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Broadcasts a message to all participants in a room, optionally excluding a specific user.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line793">line 793</a>
</li></ul></dd>
</dl>
<h5 class="h5-parameters">Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>roomId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="default">
</td>
<td class="description last">The ID of the room.</td>
</tr>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="default">
</td>
<td class="description last">The message object to broadcast.</td>
</tr>
<tr>
<td class="name"><code>excludeUserId</code></td>
<td class="type">
<span class="param-type">string</span>
|
<span class="param-type">null</span>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">The user ID to exclude from broadcasting.</td>
</tr>
</tbody>
</table>
<h4 class="name" id="getRoomIdByUserId"><span class="type-signature"></span>getRoomIdByUserId<span class="signature">(userId)</span><span class="type-signature"> &rarr; {string|null}</span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Utility function to get roomId by userId.
Assumes each user is in only one room.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line712">line 712</a>
</li></ul></dd>
</dl>
<h5 class="h5-parameters">Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>userId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">The user's unique identifier.</td>
</tr>
</tbody>
</table>
<h5 class="h5-returns">Returns:</h5>
<div class="param-desc">
- The room ID if found, otherwise null.
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
|
<span class="param-type">null</span>
</dd>
</dl>
<h4 class="name" id="getWebSocketByUserId"><span class="type-signature"></span>getWebSocketByUserId<span class="signature">(userId)</span><span class="type-signature"> &rarr; {WebSocket|null}</span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Utility function to get WebSocket connection by userId.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line726">line 726</a>
</li></ul></dd>
</dl>
<h5 class="h5-parameters">Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>userId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">The user's unique identifier.</td>
</tr>
</tbody>
</table>
<h5 class="h5-returns">Returns:</h5>
<div class="param-desc">
- The WebSocket connection if found, otherwise null.
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">WebSocket</span>
|
<span class="param-type">null</span>
</dd>
</dl>
<h4 class="name" id="handleDataMessage"><span class="type-signature"></span>handleDataMessage<span class="signature">(ws, payload)</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Handles incoming data messages from clients and broadcasts them.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line682">line 682</a>
</li></ul></dd>
</dl>
<h5 class="h5-parameters">Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ws</code></td>
<td class="type">
<span class="param-type">WebSocket</span>
</td>
<td class="description last">The WebSocket connection from the sender.</td>
</tr>
<tr>
<td class="name"><code>payload</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">The payload containing from, to, and message.</td>
</tr>
</tbody>
</table>
<h4 class="name" id="handleWSDisconnect"><span class="type-signature"></span>handleWSDisconnect<span class="signature">(ws)</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Handles WebSocket disconnections by removing the user from wsConnections.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line776">line 776</a>
</li></ul></dd>
</dl>
<h5 class="h5-parameters">Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ws</code></td>
<td class="type">
<span class="param-type">WebSocket</span>
</td>
<td class="description last">The WebSocket connection that was closed.</td>
</tr>
</tbody>
</table>
<h4 class="name" id="handleWSJoin"><span class="type-signature"></span>handleWSJoin<span class="signature">(ws, payload)</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>Handles a WebSocket join request by authenticating and adding the user to wsConnections.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line743">line 743</a>
</li></ul></dd>
</dl>
<h5 class="h5-parameters">Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ws</code></td>
<td class="type">
<span class="param-type">WebSocket</span>
</td>
<td class="description last">The WebSocket connection.</td>
</tr>
<tr>
<td class="name"><code>payload</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">The payload containing roomId, userId, and token.
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>roomId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">The ID of the room to join.</td>
</tr>
<tr>
<td class="name"><code>userId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">The user's unique identifier.</td>
</tr>
<tr>
<td class="name"><code>token</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">The JWT token for authentication.</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<h3 class="subsection-title">Type Definitions</h3>
<h4 class="name" id="AudioQualitySettings">AudioQualitySettings</h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_CloudflareCalls.js.html">public/CloudflareCalls.js</a>, <a href="public_CloudflareCalls.js.html#line23">line 23</a>
</li></ul></dd>
</dl>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>maxBitrate</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Maximum audio bitrate in bps</td>
</tr>
<tr>
<td class="name"><code>sampleRate</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Audio sample rate in Hz</td>
</tr>
<tr>
<td class="name"><code>channelCount</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Number of audio channels (1=mono, 2=stereo)</td>
</tr>
</tbody>
</table>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<h4 class="name" id="ConnectionStats">ConnectionStats</h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_CloudflareCalls.js.html">public/CloudflareCalls.js</a>, <a href="public_CloudflareCalls.js.html#line36">line 36</a>
</li></ul></dd>
</dl>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>outbound</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">Outbound (sending) statistics
<h6>Properties</h6>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>bitrate</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Current outbound bitrate in bits/s</td>
</tr>
<tr>
<td class="name"><code>packetLoss</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Percentage of packets lost</td>
</tr>
<tr>
<td class="name"><code>qualityLimitation</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Reason for quality limitations (if any)</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>inbound</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">Inbound (receiving) statistics per track
<h6>Properties</h6>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>bitrate</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Current inbound bitrate in bits/s</td>
</tr>
<tr>
<td class="name"><code>packetLoss</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Percentage of packets lost</td>
</tr>
<tr>
<td class="name"><code>jitter</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Current jitter in seconds</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>connection</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">Overall connection statistics
<h6>Properties</h6>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>roundTripTime</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Current round trip time in seconds</td>
</tr>
<tr>
<td class="name"><code>state</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Current connection state</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<h4 class="name" id="QualityPreset">QualityPreset</h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_CloudflareCalls.js.html">public/CloudflareCalls.js</a>, <a href="public_CloudflareCalls.js.html#line30">line 30</a>
</li></ul></dd>
</dl>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>video</code></td>
<td class="type">
<span class="param-type"><a href="global.html#VideoQualitySettings">VideoQualitySettings</a></span>
</td>
<td class="description last">Video quality settings</td>
</tr>
<tr>
<td class="name"><code>audio</code></td>
<td class="type">
<span class="param-type"><a href="global.html#AudioQualitySettings">AudioQualitySettings</a></span>
</td>
<td class="description last">Audio quality settings</td>
</tr>
</tbody>
</table>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<h4 class="name" id="Room">Room</h4>
<dl class="details">
<dt class="tag-description">Description:</dt>
<dd class="tag-description"><ul class="dummy"><li>In-memory storage for rooms and participants.</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line78">line 78</a>
</li></ul></dd>
</dl>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>userId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Unique identifier for the user.</td>
</tr>
<tr>
<td class="name"><code>sessionId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Unique identifier for the session.</td>
</tr>
<tr>
<td class="name"><code>createdAt</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Timestamp when the participant was added.</td>
</tr>
<tr>
<td class="name"><code>offers</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">Array of offer objects.</td>
</tr>
</tbody>
</table>
<div class="description usertext">
In-memory storage for rooms and participants.
</div>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<h4 class="name" id="StreamStats">StreamStats</h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_CloudflareCalls.js.html">public/CloudflareCalls.js</a>, <a href="public_CloudflareCalls.js.html#line51">line 51</a>
</li></ul></dd>
</dl>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>sessionId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Session ID of the stream</td>
</tr>
<tr>
<td class="name"><code>packetLoss</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Packet loss percentage</td>
</tr>
<tr>
<td class="name"><code>qualityLimitation</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Quality limitation reason</td>
</tr>
<tr>
<td class="name"><code>bitrate</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Current bitrate</td>
</tr>
</tbody>
</table>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<h4 class="name" id="VideoQualitySettings">VideoQualitySettings</h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="public_CloudflareCalls.js.html">public/CloudflareCalls.js</a>, <a href="public_CloudflareCalls.js.html#line12">line 12</a>
</li></ul></dd>
</dl>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>width</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">Video width settings
<h6>Properties</h6>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ideal</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Ideal video width in pixels</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>height</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">Video height settings
<h6>Properties</h6>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ideal</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Ideal video height in pixels</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>frameRate</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">Frame rate settings
<h6>Properties</h6>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ideal</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Ideal frame rate in fps</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>maxBitrate</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Maximum video bitrate in bps</td>
</tr>
</tbody>
</table>
<h5 class="h5-types">Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
</article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on Tue Dec 31 2024 08:15:00 GMT+0000 (Coordinated Universal Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
</footer>
<script>prettyPrint();</script>
<script src="scripts/polyfill.js"></script>
<script src="scripts/linenumber.js"></script>
</body>
<!-- Mirrored from cloudflarecalls.jamesfuthey.com/docs/global.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 19 Feb 2025 14:59:45 GMT -->
</html>