From 90b92cc717d5c449745ac10329cb65e9f71fee53 Mon Sep 17 00:00:00 2001 From: bustardcelly Date: Tue, 5 Mar 2019 09:46:26 +0100 Subject: [PATCH] 5.5.0 HTML SDK release. --- src/webapps/live/lib/red5pro/CHANGES.md | 12 +++++++++++ .../live/lib/red5pro/MIGRATION_GUIDE.md | 19 ++++++++++++++---- .../live/lib/red5pro/red5pro-publisher.swf | Bin 8763 -> 8763 bytes .../live/lib/red5pro/red5pro-sdk.min.js | 4 ++-- .../live/lib/red5pro/red5pro-subscriber.swf | Bin 11533 -> 11532 bytes 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/webapps/live/lib/red5pro/CHANGES.md b/src/webapps/live/lib/red5pro/CHANGES.md index fcd83c78..a0d36e21 100644 --- a/src/webapps/live/lib/red5pro/CHANGES.md +++ b/src/webapps/live/lib/red5pro/CHANGES.md @@ -1,5 +1,17 @@ # Changes +## 5.5.0 + +- default to srcObject in try...catch for modern browsers. (bustardcelly) +- fix for bandwidth inject in latest chrome browser. (bustardcelly) +- adding notification and retry support for autoplay restriction of subscribers. (bustardcelly) + + > * WebRTC, RTMP and HLS Subscriber support + > * muteOnAutoplayRestriction configuration property added + > * Additional subscriber events for client-side notifications of autoplay restrictions + +- allowing for decoupled socket for sharedobject connections. (bustardcelly) + ## 5.4.0 - screenfull dep update. (bustardcelly) diff --git a/src/webapps/live/lib/red5pro/MIGRATION_GUIDE.md b/src/webapps/live/lib/red5pro/MIGRATION_GUIDE.md index 5652ad9b..10b031f6 100644 --- a/src/webapps/live/lib/red5pro/MIGRATION_GUIDE.md +++ b/src/webapps/live/lib/red5pro/MIGRATION_GUIDE.md @@ -2,10 +2,25 @@ This documentation serves as a guide in migrating client-side code where a breaking change to the API has been made in a distribution. +* [5.4.0 to 5.5.0](#migrating-from-540-to-550) * [5.0.0 to 5.4.0](#migrating-from-500-to-540) * [4.0.0 to 5.0.0](#migrating-from-400-to-500) * [3.5.0 to 4.0.0](#migrating-from-350-to-400) +# Migrating from `5.4.0` to `5.5.0` + +The `5.5.0` release of the Red5 Pro HTML SDK including some modifications to `SharedObjects` to allow for "decoupling" the managament and communication API from the underlying connections for Publishers and Subscribers. In the `5.5.0` release, `SharedObjects` can now be used by themselves without requiring an already established connection to the server. + +* The `SharedObject` API has been decoupled from requiring previously established stream clients (Publisher and/or Subscriber). + * By decoupling the previous *requirement* to use a established stream client, `SharedObjects` can now be used with establishing a `WebSocket` connection and providing that as the connection to communicate over `SharedObjects`. + * The Red5 Pro HTML SDK provides a `Red5ProSharedObjectSocket` class to serve as a proxy to an underlying `WebSocket` and convenience in communicating to and from the Red5 Pro Server when using `SharedObjects`. + * The `SharedObject` API can still be employed using a stream client connection as was possible in previous SDK versions. + +Additionally, notification support for latest browser vendor restictions on the `autoplay` policy have been included. + +* Utilize the `muteOnAutoplayRestriction` initialization configuration property for Subscriber clients in order to attempt auto-muting of subscribers to allow - at least - video auto-playback when browsers enforce the muted autoplay policy. +* Listen for events related to `autoplay` restictions in order to provide a better User Experience for your customers. + # Migrating from `5.0.0` to `5.4.0` The `5.4.0` release of the Red5 Pro HTML SDK saw some minor changes related to WebRTC clients, and in particular how WebSoskcet and RTCPeerConnections are made: @@ -15,10 +30,6 @@ The `5.4.0` release of the Red5 Pro HTML SDK saw some minor changes related to W * To support backward compatiibilty for webapps out in the wild, the HTML SDK will recognize previously defaulted values and silently change the values to new default values. * The `iceServers` configuration property has been deprecated in favor of the new `rtcConfiguration` configuration property. * [Refer to section: RTCConfiguration](#rtcconfiguration) -* The `SharedObject` API has been decoupled from requiring previously established stream clients (Publisher and/or Subscriber). - * By decoupling the previous *requirement* to use a established stream client, `SharedObjects` can now be used with establishing a `WebSocket` connection and providing that as the connection to communicate over `SharedObjects`. - * The Red5 Pro HTML SDK provides a `Red5ProSharedObjectSocket` class to serve as a proxy to an underlying `WebSocket` and convenience in communicating to and from the Red5 Pro Server when using `SharedObjects`. - * The `SharedObject` API can still be employed using a stream client connection as was possible in previous SDK versions. ## RTCConfiguration diff --git a/src/webapps/live/lib/red5pro/red5pro-publisher.swf b/src/webapps/live/lib/red5pro/red5pro-publisher.swf index 31495b74713ced41b0f48995b9d2c084d0c317b8..cdb464995cc3a60cc61d1248a1b0fadffab3c136 100644 GIT binary patch literal 8763 zcmV-BBE;Q8S5pr(I{*N9+Le0=d=tm@|GeGRj#d`7Y-2+>*I>Xl>w_Z%oIo(P1tzuy zJ}5a1UQ4@3AWM!U1J2P95^~>Zlinri-SkNBD{a%X{k7>S*-hNL>6!FS+w|@){=GN5 zl4V2l`TzaV+nssyX6DVC_rCLH`EZh{I~l8ZlCj0WI?69#jNMTAbztn0RK#xW>j>&6 zN8^cfE7rEJi)J!otPmB^%G){Z_aa-qI2mDKkP z^mOa}9hV6)r;Vf{vl^Z&s|RUdJsgjbI!&T$aR(Y;Y;qQDipni*?HkD1ahH1v%v8@4(65c87e zdDeD0xPd!ZN8knd64oxw%*?jVW%_3bCnh(`pglu1mBfR#w|0U_KuH^SSe3iDrHV6<2X>DOUy?Tn3*sx zv9do(JK;>#V~%xYtWnL;CShe3pqlN;M8Xo2`?`~6#7g1rCH=+S%G%K7!=0&AG9^aW z`l(8#HRn;c^&EA5$wZ#zPbT`UM5HTmJbBD2DcTCPe=HTtSV}aR&S=6nsKhZAdU0cv zcf!HfGd{#7xyu zSssmreLb;oDmfNS;-q3_9-+E7k!}|;TUHpvscY$EkD0)Dn!o#kC&!aV)I>59vnMK| zxXQTI7KvDqfh79t5z9~LGZ7Nul`csp3V!T2GZ`}+b+qE{`h4ioZjrlCpp7TolHVD< z&q~LxvD7dsW~F>-ih7}biP#vYH84I#5ssB)e4M6M(�wIgk-gdl0csPOLtkzs*~H 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 diff --git a/src/webapps/live/lib/red5pro/red5pro-sdk.min.js b/src/webapps/live/lib/red5pro/red5pro-sdk.min.js index 05197e5b..a8d177fa 100644 --- a/src/webapps/live/lib/red5pro/red5pro-sdk.min.js +++ b/src/webapps/live/lib/red5pro/red5pro-sdk.min.js @@ -2,8 +2,8 @@ * * red5pro-sdk - Red5 Pro HTML Publisher and Subscriber SDK. * Author: Infrared5 Inc. - * Version: 5.5.0-RC12 + * Version: 5.5.0 * Url: https://github.com/red5pro/red5pro-html-sdk#readme * */ -!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=211)}([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(93),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]:void 0,n=[];if(n.push({level:e,stream:new i.RawStream,type:"raw"}),t){var a=t.map(function(t){t.level=e});n=n.concat(a)}o=(0,r.createLogger)({level:e,name:"red5pro-sdk",streams:n})},t.getLogger=function(){return o},t.trace=s(u.TRACE),t.info=s(u.INFO),t.debug=s(u.DEBUG),t.warn=s(u.WARN),t.error=s(u.ERROR),t.fatal=s(u.FATAL)},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=h.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 _()[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];e.onloadedmetadata=function(){(0,d.debug)("[videoelement:event]","loadedmetadata"),(0,d.debug)("[video:constraints]","Video actual dimensions are: "+e.videoWidth+", "+e.videoHeight)};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),m||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){h.push(e),r(window.screenfull)},onOrientationMetadata:l.onOrientationMetadata,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){f.push(e),void 0===window.setSubscriberId&&(window.setSubscriberId=function(e){f.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){e.exports={default:n(160),__esModule:!0}},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(60),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){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(142),o=r(i),a=n(140),s=r(a),u=n(62),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(62),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,n){var r=n(74)("wks"),i=n(55),o=n(11).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){var r=n(11),i=n(3),o=n(20),a=n(22),s=function(e,t,n){var u,c,l,d=e&s.F,f=e&s.G,h=e&s.S,p=e&s.P,v=e&s.B,b=e&s.W,m=f?i:i[t]||(i[t]={}),_=m.prototype,y=f?r:h?r[t]:(r[t]||{}).prototype;f&&(n=t);for(u in n)(c=!d&&y&&void 0!==y[u])&&u in m||(l=c?y[u]:n[u],m[u]=f&&"function"!=typeof y[u]?n[u]:v&&c?o(l,r):b&&y[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&&((m.virtual||(m.virtual={}))[u]=l,e&s.R&&_&&!_[u]&&a(_,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,n){e.exports={default:n(151),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocketStateEventTypes=t.SharedObjectEventTypes=t.FailoverSubscriberEventTypes=t.RTMPSubscriberEventTypes=t.RTCSubscriberEventTypes=t.SubscriberEventTypes=t.FailoverPublisherEventTypes=t.RTMPPublisherEventTypes=t.RTCPublisherEventTypes=t.PublisherEventTypes=t.WebSocketStateEvent=t.SharedObjectEvent=t.SubscriberEvent=t.PublisherEvent=t.Event=void 0;var i=n(5),o=r(i),a=n(8),s=r(a),u=n(7),c=r(u),l=n(0),d=r(l),f=n(1),h=r(f),p=n(82);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(84);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(83);Object.defineProperty(t,"SharedObjectEventTypes",{enumerable:!0,get:function(){return b.SharedObjectEventTypes}});var m=n(85);Object.defineProperty(t,"WebSocketStateEventTypes",{enumerable:!0,get:function(){return m.WebSocketStateEventTypes}});var _=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,h.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,h.default)(t,[{key:"publisher",get:function(){return this._publisher}}]),t}(_),g=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,h.default)(t,[{key:"subscriber",get:function(){return this._subscriber}}]),t}(_),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._name=n,i}return(0,c.default)(t,e),(0,h.default)(t,[{key:"name",get:function(){return this._name}}]),t}(_),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,h.default)(t,[{key:"name",get:function(){return this._name}}]),t}(_);t.Event=_,t.PublisherEvent=y,t.SubscriberEvent=g,t.SharedObjectEvent=S,t.WebSocketStateEvent=E},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(16),i=n(100),o=n(76),a=Object.defineProperty;t.f=n(17)?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){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(25)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){e.exports={default:n(158),__esModule:!0}},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),C=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}(),P=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,h.default)(t,e),(0,c.default)(t,[{key:"decorate",value:function(e){(0,E.debug)(w,"[decorate]");var t=m.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,m.default.isTouchEnabled()?t.classList.add("red5pro-media-control-bar-show"):(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=m.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=m.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 y.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(g.SliderEventTypes.CHANGE,function(t){var n=Number(t.data);e.player.setVolume(n)}),t}},{key:"_createSeekControl",value:function(){var e=this,t=new y.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(g.SliderEventTypes.CHANGE_START,function(){e.getState()===S.PlaybackState.PLAYING&&(e._resumeAfterSeek=!0,e.player.pause())}),t.on(g.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(g.SliderEventTypes.CHANGE_COMPLETE,function(){e._resumeAfterSeek&&e.getState()===S.PlaybackState.PAUSED&&(e._resumeAfterSeek=!1,e.player.resume())}),t}},{key:"_createPlaybackTime",value:function(){var e=m.default.createElement("span"),t=m.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=m.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)(w,"[setplaybackduration]: "+e),this._playbackDuration=e}},{key:"getState",value:function(){return this._state}},{key:"setState",value:function(e){return(0,E.debug)(w,"[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)(w,"[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}(C);t.PlaybackController=k,t.PlaybackControls=C,t.PlaybackControlsImpl=P},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){"use strict";var r=n(184)(!0);n(69)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){n(189);for(var r=n(11),i=n(22),o=n(30),a=n(9)("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.isObjectEmpty=t.metadataResolutionToObject=t.deepCopy=t.deepDefine=void 0;var i=n(59),o=r(i),a=n(12),s=r(a);t.deepDefine=function(e,t,n){var r=0,i=e,o=t.pop(),a=t.length;for(r;ry;y++)if((b=t?_(a(p=e[y])[0],p[1]):_(e[y]))===c||b===l)return b}else for(v=m.call(e);!(p=v.next()).done;)if((b=i(v,_,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(9)("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";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.forceUserMedia=t.getUserMedia=t.isSupported=t.determineSupportedResolution=t.quickResolutionSupport=void 0;var i=n(12),o=r(i),a=n(4),s=r(a),u=n(6),c=n(90),l=n(28),d=n(2),f=[{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}],h=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}),_=(0,c.curry)(function(e,t){var n=b(t);return(0,c.filter)(n)(e)}),y=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.")})},g=function e(t,n,r){if(0==n.length)return void y(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=_(f)(e),r=(0,l.deepCopy)(e);return g(r,n,t),t.promise},w=(t.isSupported=function(){return w&&k&&C},t.getUserMedia=function(e){var t=new u.DeferredPromise,n=m(f);(0,d.debug)("[gum:getUserMedia]","Is Available in format listing: "+n(e));var r=function(n){if(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...")}E(e).then(function(e){t.resolve({media:e.media,constraints:e.constraints})}).catch(function(n){t.reject({error:n,constraints:e})})};if(h(e))if(n(e)){(0,d.debug)("[gum:getUserMedia]","Found constraints in list. Checking quick support for faster setup with: "+(0,o.default)(e,null,2));var i=S(e);s.default.gUM(i).then(function(e){t.resolve({media:e,constraints:i})}).catch(r)}else(0,d.debug)("[gum:getUserMedia]","Could not find contraints in list. Attempting failover..."),r();else(0,d.debug)("[gum:getUserMedia]","Constraints were not defined properly. Attempting failover..."),s.default.gUM(e).then(function(n){t.resolve({media:n,constraints:e})}).catch(r);return t.promise},t.forceUserMedia=function(e){return s.default.gUM(e)},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),k=window.RTCIceCandidate||window.mozRTCIceCandidate||window.webkitRTCIceCandidate,C=window.RTCSessionDescription||window.mozRTCSessionDescription||window.webkitRTCSessionDescription;t.RTCPeerConnection=w,t.RTCIceCandidate=k,t.RTCSessionDescription=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=t.isSupported=void 0;var r=n(4),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(12),o=r(i),a=n(5),s=r(a),u=n(0),c=r(u),l=n(1),d=r(l),f=n(8),h=r(f),p=n(7),v=r(p),b=n(42),m=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),_=n(4),y=r(_),g=n(19),S=r(g),E=n(13),w=n(6),k=n(2),C=function(e){function t(e,n){(0,c.default)(this,t);var r=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return r._responder=e,r._pendingPostRequests=[],r._websocket=void 0,r._connectionPromise=void 0,r._name=n,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._asyncTickets=[],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,k.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.WebSocketStateEvent(E.WebSocketStateEventTypes.OPEN,n._name,{socket:n}))}else 0===e.readyState?++n._readyCheckCount>n._readyCheckLimit?((0,k.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,k.info)(n._name,"WebSocket connection is still opening, will let it continue ("+n._readyCheckCount+")..."),n._onopenTimeout=n._resetOnopenTimeout(e,t)):(0,k.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,k.warn)(n._name,"[websocketerror]: Error from WebSocket. "+e.type+"."),n.clearRetry(),t.reject(e),n.trigger(new E.WebSocketStateEvent(E.WebSocketStateEventTypes.ERROR,n._name,{socket:n,error:e}))},e.onmessage=function(e){n.respond(e)},e.onclose=function(t){t.code>1e3?(0,k.warn)(n._name,"[websocketclose]: "+t.code):(0,k.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.WebSocketStateEvent(E.WebSocketStateEventTypes.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.WebSocketStateEvent(E.WebSocketStateEventTypes.CLOSE,this._name,{socket:this})),(0,k.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=y.default.getIsMoz()||y.default.getIsEdge();if((0,k.debug)(this._name,"[websocket:setup] "+e+"."),this.tearDown(),this._isTerminated=!1,this._connectionPromise=t,y.default.addCloseHandler(this._onclose),this._websocket=m.create(e),this._addSocketHandlers(this._websocket,this._connectionPromise),r&&this._retryCount++>"),(0,k.debug)(this._name,"[WebSocket("+this._websocket.url+")] close() >>");try{this._websocket.close()}catch(e){(0,k.warn)(this._name,"Attempt to close WebSocket failed: "+e.message+"."),this._removeSocketHandlers(this._websocket)}finally{this._websocket&&(0,k.debug)(this._name,"<< [WebSocket("+this._websocket.url+")] close()")}(0,k.debug)(this._name,"<< [teardown]")}for(this._websocket=void 0,this._isTerminated=!0,this._openState=0;this._responseHandlers.length>0;)this._responseHandlers.shift();y.default.removeCloseHandler(this._onclose)}},{key:"getJsonFromSocketMessage",value:function(e){try{return"string"==typeof e.data?JSON.parse(e.data):e.data}catch(t){(0,k.warn)(this._name,"Could not parse message as JSON. Message= "+e.data+". Error= "+t.message)}return null}},{key:"addSharedObjectResponseHandler",value:function(e){this._responseHandlers.push(e)}},{key:"removeSharedObjectResponseHandler",value:function(e){for(var t=this._responseHandlers.length;--t>-1;)if(this._responseHandlers[t]===e)return void this._responseHandlers.splice(t,1)}},{key:"handleMessageResponse",value:function(e){var t=void 0,n=void 0,r=this._responseHandlers.length;for(t=0;t1&&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 f=[];(0,s.default)(t).forEach(function(e,n){f.push([e,t[e]].join("="))}),f.length>0&&(l+="?"+f.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(4),c=r(u),l=n(2),d="R5ProPlaybackView",f="red5pro-subscriber",h=t.PlaybackView=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;(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:"isAutoplay",get:function(){return c.default.hasAttributeDefined(this._targetElement,"autoplay")}},{key:"view",get:function(){return this._targetElement}}]),e}();t.default=h},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(36),i=n(9)("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(16),i=n(180),o=n(67),a=n(73)("IE_PROTO"),s=function(){},u=function(){var e,t=n(66)("iframe"),r=o.length;for(t.style.display="none",n(99).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("