From 84915fedfad3b5678151e64ae313eec90cca7a28 Mon Sep 17 00:00:00 2001 From: ankita-red5 Date: Mon, 31 Jan 2022 15:40:14 -0500 Subject: [PATCH] Updated with WebRTC SDK 10.0.0 build artifacts --- static/lib/red5pro/CHANGES.md | 6 ++ .../red5pro/CONFERENCE_PARTICIPANT_README.md | 99 +++++++++++++++++- static/lib/red5pro/red5pro-publisher.swf | Bin 9079 -> 9076 bytes static/lib/red5pro/red5pro-sdk.min.js | 4 +- static/lib/red5pro/red5pro-subscriber.swf | Bin 11699 -> 11699 bytes 5 files changed, 106 insertions(+), 3 deletions(-) diff --git a/static/lib/red5pro/CHANGES.md b/static/lib/red5pro/CHANGES.md index dbaffb70..9b439606 100644 --- a/static/lib/red5pro/CHANGES.md +++ b/static/lib/red5pro/CHANGES.md @@ -1,5 +1,11 @@ # Changes +## 10.0.0 + +- update to MUTE API post schema. (Todd Anderson) +- adding Mute API to RTCSubscriber. (Todd Anderson) +- introduction of RTCConferenceParticipant. (bustardcelly) + ## 9.1.2 - Fix for `detachView` bug in WebRTC subscriber. (bustardcelly) diff --git a/static/lib/red5pro/CONFERENCE_PARTICIPANT_README.md b/static/lib/red5pro/CONFERENCE_PARTICIPANT_README.md index d6badc54..08bceda7 100644 --- a/static/lib/red5pro/CONFERENCE_PARTICIPANT_README.md +++ b/static/lib/red5pro/CONFERENCE_PARTICIPANT_README.md @@ -9,4 +9,101 @@ --- -# RTCConferenceParticipant +# RTCConferenceParticipant in Red5 Pro WebRTC SDK + +The `10.0.0` release of the Red5 Pro WebRTC SDK introduced a new client to be used in establishing a connection and streaming session with the Red5 Pro server: `RTCConferenceParticipant`. + +The `RTCConferenceParticipant` is an extension of `RTCPublisher` that receives additional tracks to playback multiple audio sources along with a single composited video of all participants in the conference group. + +> Read more about an `RTCPublisher` from the [Publisher Documentation](PUBLISHER_README.md) + +The `RTCConferenceParticipant` differs from a `RTCPublisher` in that it requests to join a conference room while simulataneuosly starting a broadcast. Once the `RTCConferenceParticipant` has joined the room it is delivered 3 `recvonly` audio tracks and 1 `recvonly` video track. + +The 3 audio tracks are considered the "loudest talkers" minus the current audio being broadcast out - typically referred to as a "mix-minus". + +The 1 video track is a video composite of the video streams of all the `RTCConferenceParticipant`s in the group conference. Because of this, integrating a `RTCConferenceParticipant` into your application will most likely require a Mixer Node. + +> Read more about the [Red5 Pro Mixer](https://www.red5pro.com/docs/special/mixer/using-mixer/#gatsby-focus-wrapper). + +* [Requirements](#requirements) +* [Configuration Parameters](#configuration-parameters) +* [Events](#events) +* [Example](#example) + +# Requirements + +## Mixer Node + +Because the video delivered to each `RTCConferenceParticipant` is a composite of all participants in the conference group, you will most likely need to deploy a [Red5 Pro Mixer] (https://www.red5pro.com/docs/special/mixer/using-mixer/#gatsby-focus-wrapper) as part of your solution. + +## Group Provision + +Before Joining a Conference Group as a Participant, a Group Provision needs to be available on the server. + +Here is an example of a provision to POST to the server: + +```json +{ + guid: 'live', + context: 'live', + name: 'group01', + level: 0, + isRestricted: false, + parameters: { + group: 'webrtc', + audiotracks: 3, + videotracks: 1 + }, + restrictions: [], + primaries: [], + secondaries: [] +} +``` + +Where the `context` is the application context you are streaming to (default is `live`) and `name` is the name of the Conference Group. + +To post the provision, make a HTTP POST request to the server endpoint using: + +``` +https:///cluster/api?action=provision.create +``` + +# Configuration Parameters + +The `RTCConferenceParticipant` is an extension of `RTCPublisher`. As such, it has the same configuration parameters along with the following additional: + +| Property | Required | Default | Description | +| :--- | :---: | :---: | :--- | +| groupName | [x] | `group01` | The name of the conference group the participant will be joining. | + +# Events + +The `RTCConferenceParticipant` is an extension of `RTCPublisher`. As such, it has the same lifecycle events with the following additional accessible from the `RTCConferenceParticipantEventTypes` object: + +| Access | Name | Meaning | +| :--- | :---: | :--- | +| RTCConferenceParticipantEventTypes.MEDIA_STREAM | `Conference.MediaStream` | The event will be fired once the `MediaStream` assembled with the 3 audio tracks and 1 composite video track is delivered to the `RTCConferenceParticipant`. The `MediaStream` will be accessible from the event on `data.stream` and can be used to assign as the `srcObject` to an HTML `video` element for playback. | + +# Example + +The following is an example of creating a `RTCConferenceParticipant` and requesting to join a group broadcast. + +> Note the `app` init configuration attribute is a combination of the `live` app context and the group name. + +```js +import { RTCConferenceParticpant } from 'red5pro-webrtc-sdk' + +const start = async () => { + const participant = new RTCConferenceParticipant() + participant.on('Conference.MediaStream', event => { + const { data: { stream } } = event + conferenceVideoElement.srcObject = stream + }) + await participant.init({ + streamName: 'participant1', + groupName: 'group01', + app: 'live/group01' + }) + await participant.publish() +} +``` diff --git a/static/lib/red5pro/red5pro-publisher.swf b/static/lib/red5pro/red5pro-publisher.swf index be2e3c951e4abe40060aa877c2a14eec2e1ac263..f8d646c6c151af34369ad3ad3323e073ab1e2417 100644 GIT binary patch literal 9076 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 diff --git a/static/lib/red5pro/red5pro-sdk.min.js b/static/lib/red5pro/red5pro-sdk.min.js index 55a0768b..ff9e07b5 100644 --- a/static/lib/red5pro/red5pro-sdk.min.js +++ b/static/lib/red5pro/red5pro-sdk.min.js @@ -2,7 +2,7 @@ * * red5pro-sdk - Red5 Pro HTML Publisher and Subscriber SDK. * Author: Infrared5 Inc. - * Version: 10.0.0 + * Version: 10.0.0-release.b64 * Url: https://github.com/red5pro/red5pro-html-sdk#readme * * Copyright © 2015 Infrared5, Inc. All rights reserved. @@ -30,4 +30,4 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.red5prosdk=t():e.red5prosdk=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=216)}([function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(98),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,s=[];if(s.push({level:e,stream:new i.RawStream,type:"raw"}),n){var u=n.map(function(t){t.level=e});s=s.concat(u)}t&&(a=[],s.push({level:e,stream:{write:function(e){var t="["+e.time.toISOString()+"] "+r.nameFromLevel[e.level]+": "+e.msg;a.push(t)}}})),o=(0,r.createLogger)({level:e,name:"red5pro-sdk",streams:s})},t.getLogger=function(){return o},t.getRecordedLogs=function(){return a},t.trace=u(c.TRACE),t.info=u(c.INFO),t.debug=u(c.DEBUG),t.warn=u(c.WARN),t.error=u(c.ERROR),t.fatal=u(c.FATAL)},function(e,t,n){e.exports={default:n(165),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(148),o=r(i),a=n(146),s=r(a),u=n(63),c=r(u);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,c.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(63),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t){var n=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";function r(){!p&&window.screenfull&&window.screenfull.enabled&&(p=!0,window.screenfull.onchange(function(){var e=void 0,t=f.length;for(e=0;e0||e.canPlayType("application/x-mpegURL").length>0||e.canPlayType("audio/mpegurl").length>0||e.canPlayType("audio/x-mpegurl").length>0},supportsFlashVersion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:".";return m()[0]>=e.split(t)[0]},resolveElement:function(e){try{var t=document.getElementById(e);if(!t)throw new c.NoElementFoundError("Element with id("+e+") could not be found.");return t}catch(t){throw new c.NoElementFoundError("Error in accessing element with id("+e+"). "+t.message)}},createWebSocket:function(e){return new WebSocket(e)},setVideoSource:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{e.srcObject=t}catch(n){(0,d.warn)("[setVideoSource:obj]","Could not set srcObject: "+n.message),S?e.mozSrcObject=t:e.src=window.URL.createObjectURL(t)}if(n)try{var r=e.play();r&&r.then(function(){return(0,d.debug)("[setVideoSource:action]","play (START)")}).catch(function(e){return(0,d.warn)("[setVideoSource:action]","play (FAULT) "+(e.message?e.message:e))})}catch(t){(0,d.warn)("[setVideoSource:action]","play (CATCH::FAULT) "+t.message);try{e.setAttribute("autoplay",!1),e.pause()}catch(e){(0,d.warn)("[setVideoSource:action]","pause (CATCH::FAULT) "+e.message)}}else try{e.setAttribute("autoplay",!1),e.pause()}catch(e){}},injectScript:function(e){var t=new u.DeferredPromise,n=document.createElement("script");return n.type="text/javascript",n.onload=function(){t.resolve()},n.onreadystatechange=function(){"loaded"!==n.readyState&&"complete"!==n.readyState||(n.onreadystatechange=null,t.resolve())},n.src=e,document.getElementsByTagName("head")[0].appendChild(n),t.promise},gUM:function(e){return(navigator.mediaDevices||navigator).getUserMedia(e)},setGlobal:function(e,t){window[e]=t},getSwfObject:function(){return window.swfobject},getEmbedObject:function(e){return document.getElementById(e)},getElementId:function(e){return e.getAttribute("id")},addOrientationChangeHandler:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"onorientationchange"in window&&((0,d.debug)("[window:orientation]","[addOrientationChangeHandler]","adding responder."),v.push(e),t&&i()),1===v.length&&((0,d.debug)("[window:orientation]","[addOrientationChangeHandler]","onorientationchange added."),window.addEventListener("orientationchange",i))},removeOrientationChangeHandler:function(e){for(var t=v.length;--t>-1;)if(v[t]===e){v.slice(t,1);break}0===v.length&&((0,d.debug)("[window:orientation]","[removeOrientationChangeHandler]:: onorientationchange removed."),window.removeEventListener("onorientationchange",i))},addCloseHandler:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;b.splice(-1===t?b.length:t,0,e),_||window.addEventListener("unload",o)},removeCloseHandler:function(e){for(var t=b.length;--t>-1;)if(b[t]===e){b.slice(t,1);break}},invoke:function(e,t){window.hasOwnProperty(e)&&window[e].call(window,t)},toggleFullScreen:function(e){window.screenfull&&window.screenfull.enabled&&window.screenfull.toggle(e)},onFullScreenStateChange:function(e){f.push(e),r(window.screenfull)},onOrientationMetadata:l.onOrientationMetadata,onStreamingModeMetadata:l.onStreamingModeMetadata,hasAttributeDefined:function(e,t){var n=e.getAttribute(t);return null!==n&&void 0!==(void 0===n?"undefined":(0,s.default)(n))&&"string"==typeof n&&(""===n||"true"===n||n===t)},hasClassDefined:function(e,t){return e.classList.contains(t)},createElement:function(e,t){return"text"===e?document.createTextNode(t.toString()):document.createElement(e,t)},addSubscriptionAssignmentHandler:function(e){h.push(e),void 0===window.setSubscriberId&&(window.setSubscriberId=function(e){h.shift()(e)})},getMouseXFromEvent:function(e){return e||(e=window.event),e.pageX?e.pageX:e.clientX?e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft:0},getScrollX:function(){return void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft},createEvent:function(e){return document.createEvent(e)},getGlobal:function(){return window}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Future=t.DeferredPromise=void 0;var i=n(62),o=r(i),a=n(0),s=r(a),u=function e(){var t=this;(0,s.default)(this,e),this.resolve=void 0,this.reject=void 0,this.promise=new o.default(function(e,n){t.resolve=e,t.reject=n})},c={createIfNotExist:function(e){var t=e;return t||(t=new u),t}};t.DeferredPromise=u,t.Future=c},function(e,t,n){e.exports={default:n(156),__esModule:!0}},function(e,t,n){var r=n(75)("wks"),i=n(57),o=n(13).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.RTCConferenceParticipantEventTypes=t.MessageTransportStateEventTypes=t.SharedObjectEventTypes=t.FailoverSubscriberEventTypes=t.RTMPSubscriberEventTypes=t.RTCSubscriberEventTypes=t.SubscriberEventTypes=t.FailoverPublisherEventTypes=t.RTMPPublisherEventTypes=t.RTCPublisherEventTypes=t.PublisherEventTypes=t.RTCConferenceParticipantEvent=t.MessageTransportStateEvent=t.SharedObjectEvent=t.SubscriberEvent=t.PublisherEvent=t.Event=void 0;var i=n(3),o=r(i),a=n(5),s=r(a),u=n(4),c=r(u),l=n(0),d=r(l),h=n(1),f=r(h),p=n(85);Object.defineProperty(t,"PublisherEventTypes",{enumerable:!0,get:function(){return p.PublisherEventTypes}}),Object.defineProperty(t,"RTCPublisherEventTypes",{enumerable:!0,get:function(){return p.RTCPublisherEventTypes}}),Object.defineProperty(t,"RTMPPublisherEventTypes",{enumerable:!0,get:function(){return p.RTMPPublisherEventTypes}}),Object.defineProperty(t,"FailoverPublisherEventTypes",{enumerable:!0,get:function(){return p.FailoverPublisherEventTypes}});var v=n(87);Object.defineProperty(t,"SubscriberEventTypes",{enumerable:!0,get:function(){return v.SubscriberEventTypes}}),Object.defineProperty(t,"RTCSubscriberEventTypes",{enumerable:!0,get:function(){return v.RTCSubscriberEventTypes}}),Object.defineProperty(t,"RTMPSubscriberEventTypes",{enumerable:!0,get:function(){return v.RTMPSubscriberEventTypes}}),Object.defineProperty(t,"FailoverSubscriberEventTypes",{enumerable:!0,get:function(){return v.FailoverSubscriberEventTypes}});var b=n(86);Object.defineProperty(t,"SharedObjectEventTypes",{enumerable:!0,get:function(){return b.SharedObjectEventTypes}});var _=n(83);Object.defineProperty(t,"MessageTransportStateEventTypes",{enumerable:!0,get:function(){return _.MessageTransportStateEventTypes}});var m=n(84);Object.defineProperty(t,"RTCConferenceParticipantEventTypes",{enumerable:!0,get:function(){return m.RTCConferenceParticipantEventTypes}});var g=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;(0,d.default)(this,e),this._type=t,this._data=n}return(0,f.default)(e,[{key:"type",get:function(){return this._type}},{key:"data",get:function(){return this._data}}]),e}(),y=function(e){function t(e,n,r){(0,d.default)(this,t);var i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r));return i._publisher=n,i}return(0,c.default)(t,e),(0,f.default)(t,[{key:"publisher",get:function(){return this._publisher}}]),t}(g),S=function(e){function t(e,n,r){(0,d.default)(this,t);var i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r));return i._subscriber=n,i}return(0,c.default)(t,e),(0,f.default)(t,[{key:"subscriber",get:function(){return this._subscriber}}]),t}(g),E=function(e){function t(e,n,r){(0,d.default)(this,t);var i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r));return i._name=n,i}return(0,c.default)(t,e),(0,f.default)(t,[{key:"name",get:function(){return this._name}}]),t}(g),C=function(e){function t(e,n,r){(0,d.default)(this,t);var i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r));return i._name=n,i}return(0,c.default)(t,e),(0,f.default)(t,[{key:"name",get:function(){return this._name}}]),t}(g),T=function(e){function t(e,n,r){(0,d.default)(this,t);var i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r));return i._participant=n,i}return(0,c.default)(t,e),(0,f.default)(t,[{key:"participant",get:function(){return this._participant}}]),t}(g);t.Event=g,t.PublisherEvent=y,t.SubscriberEvent=S,t.SharedObjectEvent=E,t.MessageTransportStateEvent=C,t.RTCConferenceParticipantEvent=T},function(e,t,n){var r=n(13),i=n(6),o=n(20),a=n(22),s=function(e,t,n){var u,c,l,d=e&s.F,h=e&s.G,f=e&s.S,p=e&s.P,v=e&s.B,b=e&s.W,_=h?i:i[t]||(i[t]={}),m=_.prototype,g=h?r:f?r[t]:(r[t]||{}).prototype;h&&(n=t);for(u in n)(c=!d&&g&&void 0!==g[u])&&u in _||(l=c?g[u]:n[u],_[u]=h&&"function"!=typeof g[u]?n[u]:v&&c?o(l,r):b&&g[u]==l?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(l):p&&"function"==typeof l?o(Function.call,l):l,p&&((_.virtual||(_.virtual={}))[u]=l,e&s.R&&m&&!m[u]&&a(m,u,l)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(17),i=n(106),o=n(77),a=Object.defineProperty;t.f=n(18)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports={default:n(163),__esModule:!0}},function(e,t,n){var r=n(14);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(28)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),u="RED5PRO",c=function(){function e(){(0,o.default)(this,e),this._callbacks={},this._callbacks[u]=[]}return(0,s.default)(e,[{key:"_notify",value:function(e,t){var n=void 0,r=e.length;for(n=0;n1&&void 0!==arguments[1]&&arguments[1]}},{key:"toggleFullScreen",value:function(){}}]),t}(v.default),w=function(){function e(){(0,s.default)(this,e)}return(0,c.default)(e,[{key:"getVolume",value:function(){}},{key:"setVolume",value:function(e){}},{key:"setSeekTime",value:function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]}},{key:"setPlaybackDuration",value:function(e){}},{key:"getState",value:function(){}},{key:"setState",value:function(e){}},{key:"setAsVOD",value:function(e){}},{key:"enable",value:function(e){}}]),e}(),k=function(e){function t(e,n){(0,s.default)(this,t);var r=(0,d.default)(this,(t.__proto__||(0,o.default)(t)).call(this));return r.player=e,r.container=n,r._controlbar=void 0,r._playPauseButton=void 0,r._muteButton=void 0,r._volumeField=void 0,r._seekTimeField=void 0,r._timeField=void 0,r._fullScreenButton=void 0,r._state=S.PlaybackState.IDLE,r._mutedState=!1,r._resumeAfterSeek=!1,r._playbackDuration=0,r._volumeValue=1,r._onPlayPauseClickBound=r._onPlayPauseClick.bind(r),r.decorate(r.container),r}return(0,f.default)(t,e),(0,c.default)(t,[{key:"decorate",value:function(e){(0,E.debug)(C,"[decorate]");var t=_.default.createElement("div");t.classList.add("red5pro-media-control-bar"),this._playPauseButton=this._createPlayPauseButton(),this._muteButton=this._createMuteButton(),this._volumeField=this._createVolumeControl(),this._seekTimeField=this._createSeekControl(),this._timeField=this._createPlaybackTime(),this._fullScreenButton=this._createFullScreenToggle(),t.appendChild(this._playPauseButton),t.appendChild(this._timeField),t.appendChild(this._seekTimeField.view),t.appendChild(this._muteButton),t.appendChild(this._volumeField.view),t.appendChild(this._fullScreenButton),e.appendChild(t),this._controlbar=t;var n=void 0,r=function(){clearTimeout(n),n=setTimeout(function(){t.classList.remove("red5pro-media-control-bar-show")},6e3)};_.default.isTouchEnabled()?(t.classList.add("red5pro-media-control-bar-show"),this.container.addEventListener("touchend",function(){t.classList.toggle("red5pro-media-control-bar-show"),r()}),r()):(this.container.addEventListener("mouseover",function(){t.classList.add("red5pro-media-control-bar-show")}),this.container.addEventListener("mouseout",function(){t.classList.remove("red5pro-media-control-bar-show")})),this.setState(S.PlaybackState.IDLE).onFullScreenChange(!1).setSeekTime(0).enable(!1)}},{key:"_onPlayPauseClick",value:function(){this.getState()===S.PlaybackState.PLAYING?this.player.pause():this.getState()===S.PlaybackState.PAUSED?this.player.resume():this.player.play()}},{key:"_createPlayPauseButton",value:function(){var e=_.default.createElement("button");return e.setAttribute("aria-label","Toggle Playback"),e.classList.add("red5pro-media-control-element"),e.classList.add("red5pro-media-element-button"),e.classList.add("red5pro-media-playpause-button"),e}},{key:"_createMuteButton",value:function(){var e=this,t=_.default.createElement("button");return t.setAttribute("aria-label","Toggle Mute Audio"),t.classList.add("red5pro-media-control-element"),t.classList.add("red5pro-media-element-button"),t.classList.add("red5pro-media-muteunmute-button"),t.addEventListener("click",function(){e.getMutedState()?(e.player.unmute(),e.setMutedState(!1)):(e.player.mute(),e.setMutedState(!0))}),t}},{key:"_createVolumeControl",value:function(){var e=this,t=new g.default("volume");return t.view.classList.add("red5pro-media-control-element"),t.view.classList.add("red5pro-media-volume-slider"),t.view.classList.add("red5pro-media-slider"),t.on(y.SliderEventTypes.CHANGE,function(t){var n=Number(t.data);e.player.setVolume(n)}),t}},{key:"_createSeekControl",value:function(){var e=this,t=new g.default("seek");return t.view.classList.add("red5pro-media-control-element"),t.view.classList.add("red5pro-media-seektime-slider"),t.view.classList.add("red5pro-media-slider"),t.on(y.SliderEventTypes.CHANGE_START,function(){e.getState()===S.PlaybackState.PLAYING&&(e._resumeAfterSeek=!0,e.player.pause())}),t.on(y.SliderEventTypes.CHANGE,function(t){var n=Number(t.data);e.player.seekTo(n,0===e._playbackDuration?void 0:e._playbackDuration),e.setSeekTime(n*e._playbackDuration,e._playbackDuration)}),t.on(y.SliderEventTypes.CHANGE_COMPLETE,function(){e._resumeAfterSeek&&e.getState()===S.PlaybackState.PAUSED&&(e._resumeAfterSeek=!1,e.player.resume())}),t}},{key:"_createPlaybackTime",value:function(){var e=_.default.createElement("span"),t=_.default.createElement("text","hello!");return e.classList.add("red5pro-media-control-element"),e.classList.add("red5pro-media-time-field"),e.appendChild(t),e}},{key:"_createFullScreenToggle",value:function(){var e=this,t=_.default.createElement("button");return t.setAttribute("aria-label","Toggle Fullscreen"),t.classList.add("red5pro-media-control-element"),t.classList.add("red5pro-media-element-button"),t.classList.add("red5pro-media-fullscreen-button"),t.addEventListener("click",function(){e.player.toggleFullScreen()}),t}},{key:"enable",value:function(e){e?(this._playPauseButton.classList.remove("red5pro-media-element-button-disabled"),this._playPauseButton.addEventListener("click",this._onPlayPauseClickBound)):(this._playPauseButton.classList.add("red5pro-media-element-button-disabled"),this._playPauseButton.removeEventListener("click",this._onPlayPauseClickBound))}},{key:"formatTime",value:function(e){var t=0,n=0===e?0:parseInt(e/60),r=0;n>=60&&(t=parseInt(n/60),n%=60),r=0===e?0:parseInt(e%60);var i=t<10?["0"+t]:[t];return i.push(n<10?["0"+n]:[n]),i.push(r<10?["0"+r]:[r]),i.join(":")}},{key:"getVolume",value:function(){return this._volumeValue}},{key:"setVolume",value:function(e){return this._volumeField.value=e,this._volumeValue=e,0===e?this.setMutedState(!0):this.getMutedState()&&this.setMutedState(!1),this}},{key:"setSeekTime",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._seekTimeField.value=0===t?0:e/t,0!==this._playbackDuration&&parseInt(this._playbackDuration)<=parseInt(e)&&(this._seekTimeField.value=1),this._timeField.innerText=this.formatTime(Math.floor(e)),this}},{key:"setPlaybackDuration",value:function(e){(0,E.debug)(C,"[setplaybackduration]: "+e),this._playbackDuration=e}},{key:"getState",value:function(){return this._state}},{key:"setState",value:function(e){return(0,E.debug)(C,"[setState]: "+S.PlaybackStateReadable[e]),this._state=e,this.onStateChange(this._state),this}},{key:"getMutedState",value:function(){return"muted"in this.player?this.player.muted:this._mutedState}},{key:"setMutedState",value:function(e){return this._mutedState=e,this.onMutedStateChange(this._mutedState),this}},{key:"onStateChange",value:function(e){return e===S.PlaybackState.PLAYING?(this._playPauseButton.classList.remove("red5pro-media-play-button"),this._playPauseButton.classList.add("red5pro-media-pause-button")):(this._playPauseButton.classList.add("red5pro-media-play-button"),this._playPauseButton.classList.remove("red5pro-media-pause-button")),this}},{key:"onMutedStateChange",value:function(e){e?(this._muteButton.classList.add("red5pro-media-mute-button"),this._muteButton.classList.remove("red5pro-media-unmute-button"),this._volumeField.value=0):(this._muteButton.classList.remove("red5pro-media-mute-button"),this._muteButton.classList.add("red5pro-media-unmute-button"),this._volumeField.value=this._volumeValue)}},{key:"onFullScreenChange",value:function(e){return e?(this._fullScreenButton.classList.add("red5pro-media-exit-fullscreen-button"),this._fullScreenButton.classList.remove("red5pro-media-fullscreen-button")):(this._fullScreenButton.classList.remove("red5pro-media-exit-fullscreen-button"),this._fullScreenButton.classList.add("red5pro-media-fullscreen-button")),this}},{key:"setAsVOD",value:function(e){(0,E.debug)(C,"[setAsVOD]: "+e),e?this._seekTimeField.disabled=!1:(this._seekTimeField.value=0,this._seekTimeField.disabled=!0)}},{key:"detach",value:function(){this.enable(!1),this._controlbar&&this._controlbar.parentNode===this.container&&this.container.removeChild(this._controlbar)}}]),t}(w);t.PlaybackController=T,t.PlaybackControls=w,t.PlaybackControlsImpl=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.isObjectEmpty=t.metadataResolutionToObject=t.deepCopy=t.deepDefine=void 0;var i=n(38),o=r(i),a=n(9),s=r(a);t.deepDefine=function(e,t,n){var r=0,i=e,o=t.pop(),a=t.length;for(r;r=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){n(194);for(var r=n(13),i=n(22),o=n(32),a=n(10)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var c=s[u],l=r[c],d=l&&l.prototype;d&&!d[a]&&i(d,a,c),o[c]=o.Array}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.RTCSessionDescription=t.RTCIceCandidate=t.RTCPeerConnection=t.updateBandwidth=t.flipRecvOnlyOnExtraVideo=t.flipRecvOnlyOnExtraAudio=t.stripNonH264FromVideo=t.stripNonH264=t.stripRTPMaps=t.forceUserMedia=t.getUserMedia=t.supportsDataChannel=t.isSupported=t.determineSupportedResolution=t.quickResolutionSupport=void 0;var i=n(9),o=r(i),a=n(7),s=r(a),u=n(8),c=n(95),l=n(25),d=n(2),h=[{label:"4K(UHD)",width:3840,height:2160},{label:"1080p(FHD)",width:1920,height:1080},{label:"UXGA",width:1600,height:1200},{label:"720p(HD)",width:1280,height:720},{label:"SVGA",width:800,height:600},{label:"VGA",width:640,height:480},{label:"360p(nHD)",width:640,height:360},{label:"CIF",width:352,height:288},{label:"QVGA",width:320,height:240},{label:"QCIF",width:176,height:144},{label:"QQVGA",width:160,height:120}],f=function(e){return e.hasOwnProperty("video")&&(e.video.hasOwnProperty("width")||e.video.hasOwnProperty("height"))},p=function(e){return e.exact||e.ideal||e.max||e.min||e},v=(0,c.curry)(function(e,t){if("boolean"==typeof e.video)return!0;var n=e.video.hasOwnProperty("width")?p(e.video.width):0,r=e.video.hasOwnProperty("height")?p(e.video.height):0,i=n===t.width&&r===t.height;return i&&(0,d.debug)("[gum:isExact]","Found matching resolution for "+t.width+", "+t.height+"."),i}),b=(0,c.curry)(function(e,t){var n=e.video.hasOwnProperty("width")?p(e.video.width):0,r=e.video.hasOwnProperty("height")?p(e.video.height):0,i=n*r;return t.width*t.height0}),m=(0,c.curry)(function(e,t){var n=b(t);return(0,c.filter)(n)(e)}),g=function(e,t){e.video=!0,s.default.gUM(e).then(function(n){t.resolve({media:n,constraints:e})}).catch(function(n){var r="string"==typeof n?n:[n.name,n.message].join(": ");(0,d.debug)("[gum:getUserMedia]","Failure in getUserMedia: "+r+". Attempting other resolution tests..."),(0,d.debug)("[gUM:findformat]","Constraints declined by browser: "+(0,o.default)(e,null,2)),t.reject("Could not find proper camera for provided constraints.")})},y=function e(t,n,r){if(0==n.length)return void g(t,r);var i=n.shift();t.video.width={exact:i.width},t.video.height={exact:i.height},s.default.gUM(t).then(function(e){r.resolve({media:e,constraints:t})}).catch(function(i){var a="string"==typeof i?i:[i.name,i.message].join(": ");(0,d.debug)("[gum:getUserMedia]","Failure in getUserMedia: "+a+". Attempting other resolution tests..."),(0,d.debug)("[gUM:findformat]","Constraints declined by browser: "+(0,o.default)(t,null,2)),e(t,n,r)})},S=t.quickResolutionSupport=function(e){var t=(0,l.deepCopy)(e);return"boolean"==typeof e.video?t:(e.video.width&&(t.video.width={exact:p(e.video.width)}),e.video.height&&(t.video.height={exact:p(e.video.height)}),t)},E=t.determineSupportedResolution=function(e){(0,d.debug)("[gum:determineSupportedResolution]","Determine next neighbor based on constraints: "+(0,o.default)(e,null,2));var t=new u.DeferredPromise,n=m(h)(e),r=(0,l.deepCopy)(e);return y(r,n,t),t.promise},C=t.isSupported=function(){return O&&R&&A},T=(t.supportsDataChannel=function(){try{var e=new O(null);return e.createDataChannel({name:"test"}).close(),e.close(),!!C()}catch(e){return(0,d.debug)("Could not detect RTCDataChannel support: "+e.message),!1}},t.getUserMedia=function(e,t){var n=new u.DeferredPromise,r=_(h);(0,d.debug)("[gum:getUserMedia]","Is Available in format listing: "+r(e));var i=function(r){if(r){var i="string"==typeof r?r:[r.name,r.message].join(": ");(0,d.debug)("[gum:getUserMedia]","Failure in getUserMedia: "+i+". Attempting other resolution tests...")}E(e).then(function(e){n.resolve({media:e.media,constraints:e.constraints})}).catch(function(r){t&&t(e),n.reject({error:r,constraints:e})})};if(f(e))if(r(e)){(0,d.debug)("[gum:getUserMedia]","Found constraints in list. Checking quick support for faster setup with: "+(0,o.default)(e,null,2));var a=S(e);s.default.gUM(a).then(function(e){n.resolve({media:e,constraints:a})}).catch(i)}else(0,d.debug)("[gum:getUserMedia]","Could not find contraints in list. Attempting failover..."),t&&t(e),i();else(0,d.debug)("[gum:getUserMedia]","Constraints were not defined properly. Attempting failover..."),s.default.gUM(e).then(function(t){n.resolve({media:t,constraints:e})}).catch(i);return n.promise},t.forceUserMedia=function(e){return s.default.gUM(e)},function(e){var t=[];return e.forEach(function(e){return t.push(new RegExp("a=("+e+")","g"))}),t}(["rtpmap:(\\d{1,}) ISAC","rtpmap:(\\d{1,}) G722","rtpmap:(\\d{1,}) CN","rtpmap:(\\d{1,}) PCMU","rtpmap:(\\d{1,}) PCMA","rtpmap:(\\d{1,}) telephone-event"])),w=(t.stripRTPMaps=function(e){for(var t=e.split("\r\n"),n=t.length,r=void 0,i=void 0,o=void 0,a=[],s=void 0;--n>-1;)for(r=0;r-1;)for(r=0;r-1;)n.lastIndex=0,(s=n.exec(i[o]))&&-1===r.indexOf(s[s.length-1])&&r.push(s[s.length-1]);for(o=i.length;--o>-1;)for(a=0;a1){for(var t=e.replace("a=sendrecv","a=recvonly"),i=t.split("\r\n"),o=i.length;--o>-1;)k.lastIndex=0,k.exec(i[o])&&i.splice(o,1);return i.join("\r\n")}return e}).join(t)},O=(t.flipRecvOnlyOnExtraAudio=function(e){return P(e,"m=",/^audio/g)},t.flipRecvOnlyOnExtraVideo=function(e){return P(e,"m=",/^video/g)},t.updateBandwidth=function(e,t){var n=t.indexOf("m=audio"),r=t.indexOf("m=video"),i=void 0,o=void 0,a=void 0;return n>-1&&(e.audio&&(i=t.indexOf("\r\n",n),o=t.slice(0,i),a=t.slice(i+"\r\n".length,t.length),t=[o,"b=AS:"+e.audio,a].join("\r\n")),r=t.indexOf("m=video")),r>-1&&e.video&&(i=t.indexOf("\r\n",r),o=t.slice(0,i),a=t.slice(i+"\r\n".length,t.length),t=[o,"b=AS:"+e.video,a].join("\r\n")),-1===n&&-1===r&&(t=t.replace(/b=AS([^\r\n]+\r\n)/g,""),e.audio&&(t=t.replace(/a=mid:audio\r\n/g,"a=mid:audio\r\nb=AS:"+e.audio+"\r\n")),e.video&&(t=t.replace(/a=mid:video\r\n/g,"a=mid:video\r\nb=AS:"+e.video+"\r\n"))),t},window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection),R=window.RTCIceCandidate||window.mozRTCIceCandidate||window.webkitRTCIceCandidate,A=window.RTCSessionDescription||window.mozRTCSessionDescription||window.webkitRTCSessionDescription;t.RTCPeerConnection=O,t.RTCIceCandidate=R,t.RTCSessionDescription=A},function(e,t){e.exports={}},function(e,t,n){var r=n(57)("meta"),i=n(14),o=n(21),a=n(15).f,s=0,u=Object.isExtensible||function(){return!0},c=!n(28)(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++s,w:{}}})},d=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},h=function(e,t){if(!o(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},f=function(e){return c&&p.NEED&&u(e)&&!o(e,r)&&l(e),e},p=e.exports={KEY:r,NEED:!1,fastKey:d,getWeak:h,onFreeze:f}},function(e,t,n){var r=n(115),i=n(68);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(50);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackVideoEncoder=t.PlaybackAudioEncoder=t.PlaybackTypes=void 0;var r=n(16),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.PlaybackTypes=(0,i.default)({RTC:"rtc",RTMP:"rtmp",HLS:"hls"}),t.PlaybackAudioEncoder=(0,i.default)({OPUS:"Opus",PCMU:"PCMU",PCMA:"PCMA",SPEEX:"Speex",NONE:"NONE"}),t.PlaybackVideoEncoder=(0,i.default)({VP8:"VP8",H264:"H264",NONE:"NONE"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackStateReadable=t.PlaybackState=void 0;var r=n(16),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.PlaybackState=(0,i.default)({UNAVAILABLE:1e3,AVAILABLE:0,IDLE:1,PLAYING:2,PAUSED:3}),t.PlaybackStateReadable=(0,i.default)({1e3:"Playback.UNAVAILABLE",0:"Playback.AVAILABLE",1:"Playback.IDLE",2:"Playback.PLAYING",3:"Playback.PAUSED"})},function(e,t,n){e.exports={default:n(166),__esModule:!0}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(20),i=n(109),o=n(107),a=n(17),s=n(56),u=n(80),c={},l={},t=e.exports=function(e,t,n,d,h){var f,p,v,b,_=h?function(){return e}:u(e),m=r(n,d,t?2:1),g=0;if("function"!=typeof _)throw TypeError(e+" is not iterable!");if(o(_)){for(f=s(e.length);f>g;g++)if((b=t?m(a(p=e[g])[0],p[1]):m(e[g]))===c||b===l)return b}else for(v=_.call(e);!(p=v.next()).done;)if((b=i(v,m,p.value,t))===c||b===l)return b};t.BREAK=c,t.RETURN=l},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(15).f,i=n(21),o=n(10)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=t.isSupported=void 0;var r=n(7),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.isSupported=function(){return i.default.supportsWebSocket()},t.create=function(e){return i.default.createWebSocket(e)}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),o=r(i),a=n(3),s=r(a),u=n(0),c=r(u),l=n(1),d=r(l),h=n(5),f=r(h),p=n(4),v=r(p),b=n(44),_=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(b),m=n(7),g=r(m),y=n(88),S=r(y),E=n(11),C=n(2),T="R5ProSocketProxy",w=function(e){function t(e,n){(0,c.default)(this,t);var r=(0,f.default)(this,(t.__proto__||(0,s.default)(t)).call(this,n||T));return r._responder=e,r._pendingPostRequests=[],r._websocket=void 0,r._connectionPromise=void 0,r._responseHandlers=[],r._isTerminated=!1,r._retryCount=0,r._retryLimit=1,r._readyCheckCount=0,r._readyCheckLimit=10,r._openState=0,r._onclose=r.tearDown.bind(r),r._onopenTimeout=0,r}return(0,v.default)(t,e),(0,d.default)(t,[{key:"_resetOnopenTimeout",value:function(e,t){var n=this,r=setTimeout(function(){if(clearTimeout(r),1===e.readyState){for((0,C.info)(n._name,"[websocketopen]"),n._openState=1;n._pendingPostRequests.length>0;)n.post(n._pendingPostRequests.shift());n._responder&&n._responder.onSocketOpen&&n._responder.onSocketOpen(),n.trigger(new E.MessageTransportStateEvent(E.MessageTransportStateEventTypes.OPEN,n._name,{socket:n}))}else 0===e.readyState?++n._readyCheckCount>n._readyCheckLimit?((0,C.warn)(n._name,"WebSocket connection issue. We have waited for "+(n._readyCheckCount-1)+" samples, without any connection."),n.clearRetry(),t.reject({type:"Timeout"}),n.tearDown()):((0,C.info)(n._name,"WebSocket connection is still opening, will let it continue ("+n._readyCheckCount+")..."),n._onopenTimeout=n._resetOnopenTimeout(e,t)):(0,C.info)(n._name,"WebSocket connection attempts have ended with state ("+e.readyState+").")},500);return r}},{key:"_removeSocketHandlers",value:function(e){e&&(e.onopen=void 0,e.onmessage=void 0,e.onerror=void 0,e.onclose=void 0)}},{key:"_addSocketHandlers",value:function(e,t){var n=this;this._openState=0,this._readyCheckCount=0,clearTimeout(this._onopenTimeout),this._onopenTimeout=this._resetOnopenTimeout(e,t),e.onerror=function(e){(0,C.warn)(n._name,"[websocketerror]: Error from WebSocket. "+e.type+"."),n.clearRetry(),t.reject(e),n.trigger(new E.MessageTransportStateEvent(E.MessageTransportStateEventTypes.ERROR,n._name,{socket:n,error:e}))},e.onmessage=function(e){n.respond(e)},e.onclose=function(t){t.code>1e3?(0,C.warn)(n._name,"[websocketclose]: "+t.code):(0,C.debug)(n._name,"[websocketclose]: "+t.code),n._responder&&n._responder.onSocketClose&&n._responder.onSocketClose(t),n.clearRetry(),n._removeSocketHandlers(e||n._websocket),n._openState=0,n.trigger(new E.MessageTransportStateEvent(E.MessageTransportStateEventTypes.CLOSE,n._name,{socket:n,event:t}))}}},{key:"_onUnexpectedSocketError",value:function(e){this._responder&&this._responder.onSocketClose&&this._responder.onSocketClose(e),this.trigger(new E.MessageTransportStateEvent(E.MessageTransportStateEventTypes.CLOSE,this._name,{socket:this})),(0,C.warn)(this._name,"[websocketerror]: Possible Unexpected Error from WebSocket. "+e.type+", "+e.detail),this.clearRetry(),this._removeSocketHandlers(this._websocket)}},{key:"clearRetry",value:function(){this._retryCount=0,this._readyCheckCount=0,clearTimeout(this._onopenTimeout)}},{key:"setUp",value:function(e,t){var n=this,r=g.default.getIsMoz()||g.default.getIsEdge();if((0,C.debug)(this._name,"[websocket:setup] "+e+"."),this.tearDown(),this._isTerminated=!1,this._connectionPromise=t,g.default.addCloseHandler(this._onclose),this._websocket=_.create(e),this._addSocketHandlers(this._websocket,this._connectionPromise),r&&this._retryCount++>"),(0,C.debug)(this._name,"[WebSocket("+this._websocket.url+")] close() >>");try{this._websocket.close()}catch(e){(0,C.warn)(this._name,"Attempt to close WebSocket failed: "+e.message+"."),this._removeSocketHandlers(this._websocket)}finally{this._websocket&&(0,C.debug)(this._name,"<< [WebSocket("+this._websocket.url+")] close()")}(0,C.debug)(this._name,"<< [teardown]")}for(this._websocket=void 0,this._isTerminated=!0,this._openState=0;this._responseHandlers.length>0;)this._responseHandlers.shift();g.default.removeCloseHandler(this._onclose)}},{key:"postEndOfCandidates",value:function(e){this.post({handleCandidate:e,data:{candidate:{type:"candidate",candidate:""}}})}},{key:"post",value:function(e){if(void 0===this._websocket||1!==this._openState)return(void 0===this._websocket||2!==this._websocket.readyState&&3!==this._websocket.readyState)&&(!this._isTerminated&&(this._pendingPostRequests.push(e),!0));try{return(0,C.debug)(this._name,"[websocket-post]: "+(0,o.default)(e,null,2)),this._websocket.send((0,o.default)(e)),!0}catch(t){return(0,C.debug)(this._name,"Could not send request: "+e+". "+t),!1}}},{key:"respond",value:function(e){var t=this.handleMessageResponse(e);if(!t&&e.data){var n=this.getJsonFromSocketMessage(e);if(null===n)return(0,C.warn)(this._name,"Determined websocket response not in correct format. Aborting message handle."),!0;if((0,C.debug)(this._name,"[websocket-response]: "+(0,o.default)(n,null,2)),void 0!==n.isAvailable)return"boolean"==typeof n.isAvailable&&n.isAvailable?(this._responder&&this._responder.onStreamAvailable(n),!0):(this._responder&&this._responder.onStreamUnavailable(n),!0);if(n.async&&n.id){var r=this._asyncTickets.find(function(e){return e.id===n.id}),i=r.promise;i&&n.data?i.resolve(n.data):i&&n.error&&i.reject(n.error)}else if(void 0!==n.data){var a=n.data;if(void 0!==a.message){if("error"===a.type&&this._responder)return this._responder.onSocketMessageError(a.message,a.detail),!0}else if("status"===a.type){if("NetConnection.Connect.Success"===a.code)return this._websocket.onerror=this._onUnexpectedSocketError.bind(this),this._connectionPromise.resolve(this),!0;if("NetConnection.DataChannel.Available"===a.code)return this._responder.onDataChannelAvailable(a.description),!0;if("NetConnection.Connect.Rejected"===a.code)return this._connectionPromise.reject("NetConnection.Connect.Rejected"),!0}else if("error"===a.type){if("NetConnection.Connect.Rejected"===a.code)return this._connectionPromise.reject("NetConnection.Connect.Rejected"),!0;if("NetConnection.Connect.Failed"===a.code)return this._connectionPromise.reject("NetConnection.Connect.Failed"),!0}}}return t}},{key:"isTerminated",get:function(){return this._isTerminated}}]),t}(S.default);t.default=w},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.hlsSocketEndpointFromOptions=t.rtcSocketEndpointFromOptions=t.encodeKeyValues=void 0;var i=n(26),o=r(i),a=n(38),s=r(a),u=function(e){switch(e){case 8083:case"8083":return console.warn("The default WebSocket port on the server has changed from 8083 to 443 for secure connections."),443;case 8081:case"8081":return console.warn("The default WebSocket port on the server has changed from 8081 to 5080 or 80 for secure connections."),5080}return e},c=t.encodeKeyValues=function(e){var t={};return(0,s.default)(e).forEach(function(n,r){t[n]=encodeURIComponent(e[n])}),t};t.rtcSocketEndpointFromOptions=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=e.wsprotocol||e.protocol,r=u(e.wsport||e.port),i=e.context?[e.app,e.context].join("/"):e.app,a=n+"://"+e.host+":"+r+"/"+i+"/";if(void 0!==e.connectionParams){var l=c(e.connectionParams);t=(0,o.default)(t,l)}if(void 0!==t){var d=[];(0,s.default)(t).forEach(function(e,n){d.push([e,t[e]].join("="))}),d.length>0&&(a+="?"+d.join("&"))}return a},t.hlsSocketEndpointFromOptions=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=e.socketParams,r=e.connectionParams,i=n.protocol,a=u(n.port||("wss"===i?443:5080)),l=i+"://"+n.host+":"+a+"/"+n.app+"/";if(r){var d=c(e.connectionParams);t=(0,o.default)(t,d)}if(t){var h=[];(0,s.default)(t).forEach(function(e,n){h.push([e,t[e]].join("="))}),h.length>0&&(l+="?"+h.join("&"))}return l}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackView=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),u=n(7),c=r(u),l=n(2),d="R5ProPlaybackView",h="red5pro-subscriber",f=t.PlaybackView=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h;(0,o.default)(this,e);try{this._targetElement=c.default.resolveElement(t)}catch(e){throw(0,l.error)(d,"Could not instantiate a new instance of Red5ProSubscriber. Reason: "+e.message),e}}return(0,s.default)(e,[{key:"attachSubscriber",value:function(e){(0,l.debug)(d,"[attachsubscriber]"),e.setView(this,c.default.getElementId(this._targetElement))}},{key:"attachStream",value:function(e){var t=this.isAutoplay;(0,l.debug)(d,"[attachstream]"),c.default.setVideoSource(this._targetElement,e,t)}},{key:"detachStream",value:function(){(0,l.debug)(d,"[detachstream]"),c.default.setVideoSource(this._targetElement,null,this.isAutoplay)}},{key:"isAutoplay",get:function(){return c.default.hasAttributeDefined(this._targetElement,"autoplay")}},{key:"view",get:function(){return this._targetElement}}]),e}();t.default=f},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(39),i=n(10)("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),i))?n:o?r(t):"Object"==(s=r(t))&&"function"==typeof t.callee?"Arguments":s}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports=!0},function(e,t,n){var r=n(17),i=n(185),o=n(68),a=n(74)("IE_PROTO"),s=function(){},u=function(){var e,t=n(67)("iframe"),r=o.length;for(t.style.display="none",n(105).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("