@impleotv/stanag-player 0.1.18 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import './style.css';
2
3
  export interface StreamType {
3
4
  videoWidth: number;
4
5
  videoHeight: number;
@@ -7,19 +8,27 @@ export interface SizeType {
7
8
  width: number;
8
9
  height: number;
9
10
  }
11
+ export interface RecorderStateType {
12
+ state: string;
13
+ timeStarted: string;
14
+ }
10
15
  export interface StanagPlayerProps {
11
16
  serverUrl?: string;
12
17
  width: number;
13
- defaultAspectRatio?: number;
14
18
  controls?: boolean;
19
+ useStandardControls?: boolean;
15
20
  autoplay?: boolean;
16
21
  iceServers?: string;
22
+ poster?: string;
17
23
  onDataReceive?(packetTime: string, klvs: JSON): void;
18
24
  onStateChange?(state: string): void;
25
+ onRecorderStateChange?(state: string): void;
26
+ onRecorderEvent?(event: string): void;
19
27
  onSizeChange?(size: SizeType): void;
20
28
  onMessageReceive?(msg: string): void;
21
29
  onConnected?(isConnected: boolean): void;
22
30
  onStreamInfo?(streamIfo: StreamType): void;
31
+ onServerInfo?(recorderInfo: any): void;
23
32
  onError?(error: string): void;
24
33
  }
25
34
  declare const StanagPlayer: {
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),o=function(t){var o=e.useRef(null),r=e.useRef(!0),c=e.useState(16/9),a=c[0],i=c[1],s=e.useState({width:t.width,height:t.width/a}),d=s[0],l=s[1],u=e.useState({width:1920,height:1080}),h=u[0],g=u[1],f=e.useState(null),v=f[0],w=f[1],S=e.useRef(),p={iceServers:[{urls:t.iceServers}]};e.useEffect((function(){try{var e=S.current;e.ontrack=function(e){null!=o.current&&(o.current.srcObject=e.streams[0],o.current.muted=!0,o.current.autoplay=t.autoplay,o.current.controls=t.controls,o.current.addEventListener("pause",(function(e){r.current=!0})),o.current.addEventListener("play",(function(e){r.current=!1})),o.current.addEventListener("loadedmetadata",(function(e){var n;g({width:o.current.videoWidth,height:o.current.videoHeight}),null===(n=t.onStreamInfo)||void 0===n||n.call(t,{videoWidth:o.current.videoWidth,videoHeight:o.current.videoHeight})})))},e.onconnectionstatechange=function(t){return console.log(e.iceConnectionState)},e.oniceconnectionstatechange=function(t){return console.log(e.iceConnectionState)},e.onicegatheringstatechange=function(t){return console.log(e.iceGatheringState)},e.addTransceiver("video",{direction:"sendrecv"});var n=e.createDataChannel("klv");n.binaryType="arraybuffer",n.onclose=function(){return console.log("dataChannel has closed")},n.onopen=function(){return console.log("dataChannel has opened")},n.onmessage=function(e){var n=new DataView(e.data),o=new TextDecoder("utf8"),c=JSON.parse(o.decode(n));switch(c.type){case"klv":r.current||t.onDataReceive&&t.onDataReceive(new Date(c.klvs[2]/1e3).toISOString(),c.klvs);break;case"msg":t.onMessageReceive&&t.onMessageReceive(c.msg);break;case"state":t.onStateChange&&t.onStateChange(c.state)}};var c=t.serverUrl?t.serverUrl:window.location.origin,a=new URL(c),i="ws";"http:"!=a.protocol&&(i+="s");var s=new WebSocket(i+"://".concat(a.host,"/ws"));s.onmessage=function(n){var o=JSON.parse(n.data);if(!o)return console.log("failed to parse msg");o.error?(console.log(o.error),t.onError&&t.onError(o.error)):o.candidate?e.addIceCandidate(o):e.setRemoteDescription(o)},s.onerror=function(e){console.log("Websocket Error.")},s.onclose=function(e){t.onConnected&&t.onConnected(!1),1e3!=e.code&&(console.log("Websocket closed: ".concat(e.code)),w(Date.now()))},e.onicecandidate=function(e){e.candidate&&""!==e.candidate.candidate&&s.send(JSON.stringify(e.candidate))},s.onopen=function(){t.onConnected&&t.onConnected(!0),e.createOffer().then((function(t){e.setLocalDescription(t),s.send(JSON.stringify(t))}))}}catch(e){console.log("Error: ".concat(e.message))}return function(){console.log("Player close")}}),[t.serverUrl,t.iceServers,v]),e.useEffect((function(){try{var e=h.width/h.height;i(e);var n=t.width/e;l({width:t.width,height:n}),t.onSizeChange&&t.onSizeChange({width:t.width,height:n})}catch(e){console.log("Error: ".concat(e.message))}}),[h.width,h.height,t.width]);try{void 0===S.current&&(S.current=new RTCPeerConnection(p))}catch(e){console.log("Error: ".concat(e.message))}var y={width:d.width,height:d.height};return n.default.createElement("video",{style:y,ref:o})};o.defaultProps={width:360,controls:!0,autoplay:!0,iceServers:"stun:stun.l.google.com:19302"};var r=function(e){return n.default.createElement(r,null,e.label)};exports.KlvView=r,exports.StanagPlayer=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=n(e);function r(e,n){var t;n.current&&((null===(t=e.current)||void 0===t?void 0:t.paused)?(n.current.textContent="▶",n.current.title="Play"):(n.current.textContent="▐▐",n.current.title="Pause"))}function o(e,n,t){var r,o,c,i;if(e.current&&t.current)switch(null===(r=t.current)||void 0===r?void 0:r.recorderState){case"starting":e.current.textContent="⭕",e.current.title="Starting recording";break;case"running":e.current.textContent="🔴",e.current.title="Stop recording",t.current.recorderTimer=setInterval((function(){var e,r,o,c,i;if(null===(e=t.current)||void 0===e?void 0:e.recordingStarted){var l=(c=t.current.recordingStarted,i=new Date(c),((new Date).getTime()-i.getTime())/1e3);null===(r=n.current)||void 0===r||r.classList.remove("recorder-idle"),null===(o=n.current)||void 0===o||o.classList.add("recorder-active"),n.current.innerHTML=a(l,!1)}}),1e3);break;case"stopping":e.current.textContent="🔘";break;case"stopped":e.current.textContent="⚪",e.current.title="Record",t.current.recorderTimer&&(clearInterval(null===(o=t.current)||void 0===o?void 0:o.recorderTimer),t.current.recorderTimer=void 0),n.current.innerHTML=a(0,!1),null===(c=n.current)||void 0===c||c.classList.remove("recorder-active"),null===(i=n.current)||void 0===i||i.classList.add("recorder-idle");break;case"waiting":e.current.textContent="🟠",e.current.title="Waiting for stream";break;case"error":e.current.textContent="🚫",e.current.title="Recording error";break;default:e.current.textContent="🔵",e.current.title="Unknown state"}}function c(e,n){var t={service:"recorder",command:n,params:""};fetch(e.current.serverUrl+"/command",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){e.ok||e.text().then((function(n){console.error("".concat(e.statusText," - ").concat(n))}))})).catch((function(e){e.response.json().then((function(e){console.error("Error: ".concat(e.message)),console.error("Details: ".concat(JSON.stringify(e.details)))}))}))}function a(e,n){if(void 0===n&&(n=!0),null==e)return"00:00:00.0";var t=new Date(1e3*e),r=t.getUTCHours(),o=t.getUTCMinutes(),c=t.getUTCSeconds(),a="";e>=86400&&(a+=Math.floor(e/86400)+":");if(a+=(r<10?"0"+r:r)+":"+(o<10?"0"+o:o)+":"+(c<10?"0"+c:c),n){var i=t.getUTCMilliseconds();a+="."+(Math.round(i/100)%10).toString()}return a}!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".player-row {\n display: flex;\n width: 100%;\n }\n \n.player-container {\n width: 90%;\n box-sizing: border-box;\n padding: 10px;\n position: relative;\n }\n\n.videoContainer {\n display: inline-block;\n vertical-align: top;\n}\n\n.info {\n color: dimgray;\n font-size: 0.8em;\n}\n\n.video-player {\n position: relative;\n overflow: hidden;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.video {\n width: 100%;\n}\n\n.time {\n font-size: 0.8em;\n color: greenyellow;\n width: 15%;\n text-align: center;\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 40px;\n}\n\n.recorder-time{\n font-size: 0.8em;\n color: red;\n width: 15%;\n text-align: center;\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 20px;\n font-weight: bold;\n}\n\n.recorder-active {\n opacity: 100%;\n}\n\n.recorder-idle {\n opacity: 40%;\n}\n\n.recorder-disabled {\n display: none;\n}\n\n.player-controls {\n display: flex;\n position: absolute;\n bottom: 0;\n width: 100%;\n transform: translateY(100%);\n transition: .4s;\n flex-wrap: wrap;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.video-player:hover .player-controls {\n transform: translateY(0);\n}\n\n.play-button,\n.record-button {\n width: 10%;\n background: rgba(0, 0, 0, 0);\n color: white;\n border: none;\n padding: 8px;\n}\n\n.screen-control-buttons {\n margin-left: auto; \n}\n\n.fullscreen-button,\n.pip-button { \n width: 30%;\n background: rgba(0, 0, 0, 0);\n color: black;\n border: none;\n padding: 8px;\n}\n\n.play-button:focus .record-button:focus .fullscreen-button:focus {\n outline: none;\n}\n\n.overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n display: none;\n justify-content: center;\n align-items: center;\n }\n \n .overlay p {\n color: white;\n font-size: 2rem;\n text-align: center;\n }");var i=function(n){var i=e.useRef(null),l=e.useRef(null),u=e.useRef(null),s=e.useRef(null),d=e.useRef(null),f=e.useRef(null),v=e.useRef(null),m=e.useRef(null),g=e.useRef(null),p=e.useRef(!0),h=e.useState(n.controls&&!n.useStandardControls),S=h[0],b=h[1],y=e.useState(16/9),w=y[0],C=y[1],E=e.useState({width:n.width,height:n.width/w}),k=E[0],x=E[1],R=e.useState({width:1920,height:1080}),T=R[0],N=R[1],L=e.useState(0),U=L[0],D=L[1],P=e.useRef(),F={iceServers:n.iceServers?[{urls:n.iceServers}]:[]};e.useEffect((function(){l.current&&(l.current.serverUrl=n.serverUrl),fetch(n.serverUrl+"/info").then((function(e){return e.json()})).then((function(e){var t,r;l.current.poster=e.poster,null==n||n.onServerInfo(e),e.recorderEnabled||(null===(t=s.current)||void 0===t||t.classList.add("recorder-disabled"),null===(r=f.current)||void 0===r||r.classList.add("recorder-disabled"))})),fetch(n.serverUrl+"/recorderState").then((function(e){return e.json()})).then((function(e){l.current.recorderState=e.state,l.current.recordingStarted=e.timeStarted.length>0?e.timeStarted:void 0,o(f,s,l)}))}),[n.serverUrl]),e.useEffect((function(){var e,n,t,g;S&&(null!=i.current&&(i.current.addEventListener("timeupdate",(function(e){u.current.innerHTML=a(i.current.currentTime)})),i.current.onplay=function(e){r(i,d)}),null===(e=d.current)||void 0===e||e.addEventListener("click",(function(e){e.preventDefault(),function(e,n){var t,o,c;(null===(t=e.current)||void 0===t?void 0:t.paused)?null===(o=e.current)||void 0===o||o.play():null===(c=e.current)||void 0===c||c.pause(),r(e,n)}(i,d)})),null===(n=f.current)||void 0===n||n.addEventListener("click",(function(e){e.preventDefault(),function(e,n,t){if(t.current){switch(t.current.recorderState){case"starting":t.current.recorderState="stopping";break;case"stopped":t.current.recorderState="starting",c(t,"start");break;case"running":case"waiting":case"error":t.current.recorderState="stopping",c(t,"stop");break;default:t.current.recorderState="unknown"}o(e,n,t)}}(f,s,l)})),null===(t=v.current)||void 0===t||t.addEventListener("click",(function(e){!function(e){var n,t,r;document.fullscreenElement||document.mozFullScreen||document.webkitIsFullScreen?document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen():(null===(n=e.current)||void 0===n?void 0:n.requestFullScreen)?e.current.requestFullScreen():(null===(t=e.current)||void 0===t?void 0:t.mozRequestFullScreen)?e.current.mozRequestFullScreen():null===(r=e.current)||void 0===r||r.webkitRequestFullScreen()}(i)})),null===(g=m.current)||void 0===g||g.addEventListener("click",(function(e){!function(e){var n;document.pictureInPictureElement?document.exitPictureInPicture():null===(n=e.current)||void 0===n||n.requestPictureInPicture()}(i)})))}),[S]),e.useEffect((function(){var e;null!=i.current&&(n.useStandardControls?(i.current.controls=null===(e=n.controls)||void 0===e||e,b(!1)):(i.current.controls=!1,b(n.controls&&!n.useStandardControls)))}),[n.controls,n.useStandardControls]),e.useEffect((function(){try{var e=P.current;if(e){e.ontrack=function(e){var t,r,o,c;null!=i.current&&(i.current.srcObject=e.streams[0],i.current.muted=!0,i.current.autoplay=null!==(t=n.autoplay)&&void 0!==t&&t,i.current.controls=null!==(r=n.controls)&&void 0!==r&&r&&null!==(o=n.useStandardControls)&&void 0!==o&&o,i.current.poster=null!==(c=n.poster)&&void 0!==c?c:"".concat(n.serverUrl,"/").concat(l.current.poster),i.current.addEventListener("pause",(function(e){p.current=!0})),i.current.addEventListener("play",(function(e){p.current=!1})),i.current.addEventListener("loadedmetadata",(function(e){var t;N({width:i.current.videoWidth,height:i.current.videoHeight}),null===(t=n.onStreamInfo)||void 0===t||t.call(n,{videoWidth:i.current.videoWidth,videoHeight:i.current.videoHeight})})))},e.onconnectionstatechange=function(n){return console.log(e.iceConnectionState)},e.oniceconnectionstatechange=function(n){return console.log(e.iceConnectionState)},e.onicegatheringstatechange=function(n){return console.log(e.iceGatheringState)},e.addTransceiver("video",{direction:"sendrecv"});var t=e.createDataChannel("klv");t.binaryType="arraybuffer",t.onclose=function(){return console.log("dataChannel has closed")},t.onopen=function(){return console.log("dataChannel has opened")},t.onmessage=function(e){var t=new DataView(e.data),r=new TextDecoder("utf8"),c=JSON.parse(r.decode(t));switch(c.type){case"klv":p.current||n.onDataReceive&&n.onDataReceive(new Date(c.klvs[2]/1e3).toISOString(),c.klvs);break;case"msg":n.onMessageReceive&&n.onMessageReceive(c.msg);break;case"state":switch(n.onStateChange&&n.onStateChange(c.state),c.state){case"Timeout":"running"===l.current.recorderState&&(l.current.recorderState="waiting",o(f,s,l));break;case"Online":"waiting"===l.current.recorderState&&(l.current.recorderState="running",o(f,s,l));break;case"DemoExpired":g.current.style.display="flex"}break;case"recorderState":n.onRecorderStateChange&&n.onRecorderStateChange(c.state),l.current.recorderState=c.state,l.current.recordingStarted=c.timeStarted.length>0?c.timeStarted:void 0,o(f,s,l);break;case"recorderEvent":n.onRecorderEvent&&n.onRecorderEvent(c.event)}};var r=n.serverUrl?n.serverUrl:window.location.origin,c=new URL(r),a="ws";"http:"!=c.protocol&&(a+="s");var u=new WebSocket(a+"://".concat(c.host,"/ws"));u.onmessage=function(t){var r=JSON.parse(t.data);if(!r)return console.log("failed to parse msg");r.error?(console.log(r.error),n.onError&&n.onError(r.error)):r.candidate?e.addIceCandidate(r):e.setRemoteDescription(r)},u.onerror=function(e){console.log("Websocket Error.")},u.onclose=function(e){n.onConnected&&n.onConnected(!1),1e3!=e.code&&(console.log("Websocket closed: ".concat(e.code)),D(Date.now()))},e.onicecandidate=function(e){e.candidate&&""!==e.candidate.candidate&&u.send(JSON.stringify(e.candidate))},u.onopen=function(){n.onConnected&&n.onConnected(!0),e.createOffer().then((function(n){e.setLocalDescription(n),u.send(JSON.stringify(n))}))}}}catch(e){console.log("Error: ".concat(e.message))}return function(){console.log("Player close")}}),[n.serverUrl,n.iceServers,U]),e.useEffect((function(){try{var e=T.width/T.height;C(e);var t=n.width/e;x({width:n.width,height:t}),n.onSizeChange&&n.onSizeChange({width:n.width,height:t})}catch(e){console.log("Error: ".concat(e.message))}}),[T.width,T.height,n.width]);try{void 0===P.current&&(P.current=new RTCPeerConnection(F))}catch(e){console.log("Error: ".concat(e.message))}return k.width,k.height,t.default.createElement("div",{className:"player-container",ref:l},t.default.createElement("div",{className:"videoContainer"},t.default.createElement("div",{className:"video-player"},t.default.createElement("video",{id:"videoWindow",className:"video",ref:i}),S&&t.default.createElement("div",{className:"player-controls"},t.default.createElement("button",{className:"play-button",title:"Play",ref:d},"▶"),t.default.createElement("button",{className:"record-button",title:"Record",ref:f},"⚪"),t.default.createElement("div",{className:"time"},t.default.createElement("span",{className:"currentPlaybackTime",title:"Playback time",ref:u},"00:00:00.000")),t.default.createElement("div",{className:"recorder-time"},t.default.createElement("span",{className:"currentRecordingTime",title:"Recording time",ref:s},"00:00:00")),t.default.createElement("div",{className:"screen-control-buttons"},t.default.createElement("button",{className:"pip-button",title:"Picture in picture",ref:m},"🔳"),t.default.createElement("button",{className:"fullscreen-button",title:"Full screen",ref:v},"⬜"))))),t.default.createElement("div",{className:"overlay",ref:g},t.default.createElement("p",null,"Demo expired")))};i.defaultProps={width:360,controls:!0,autoplay:!0,iceServers:"stun:stun.l.google.com:19302"};var l=function(e){return t.default.createElement(l,null,e.label)};exports.KlvView=l,exports.StanagPlayer=i;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/StanagPlayer/StanagPlayer.tsx","../../src/components/KlvView/KlvView.tsx"],"sourcesContent":[null,null],"names":["StanagPlayer","props","videoPlayer","useRef","isPaused","_a","useState","aspectRatio","setAspectRatio","_b","width","height","playerSize","setPlayerSize","_c","videoDimension","setVideoDimension","_d","wsDisconnectTime","setWsDisconnectTime","peerConnection","configuration","iceServers","urls","useEffect","pc_1","current","ontrack","event","srcObject","streams","muted","autoplay","controls","addEventListener","videoWidth","videoHeight","onStreamInfo","call","onconnectionstatechange","e","console","log","iceConnectionState","oniceconnectionstatechange","onicegatheringstatechange","iceGatheringState","addTransceiver","direction","dataChannel","createDataChannel","binaryType","onclose","onopen","onmessage","dataView","DataView","data","decoder","TextDecoder","msg","JSON","parse","decode","type","onDataReceive","Date","klvs","toISOString","onMessageReceive","onStateChange","state","location_1","serverUrl","window","location","origin","uri","URL","wsProto","protocol","socket_1","WebSocket","concat","host","error","onError","candidate","addIceCandidate","setRemoteDescription","onerror","onConnected","code","now","onicecandidate","send","stringify","createOffer","then","offer","setLocalDescription","message","curAspectRatio","onSizeChange","undefined","RTCPeerConnection","playerStyle","React","createElement","style","ref","defaultProps","KlvView","label"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/StanagPlayer/StanagPlayer.tsx","../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/KlvView/KlvView.tsx"],"sourcesContent":[null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null],"names":["showPlayerState","video","playerdButton","current","_a","paused","textContent","title","showRecorderState","recordButton","recorderTimeElement","player","recorderState","recorderTimer","setInterval","utcTimeString","utcTime","recordingStarted","elapsed","Date","getTime","_b","classList","remove","_c","add","innerHTML","formatTime","clearInterval","undefined","_d","sendRecorderCommand","cmd","data","service","command","params","fetch","serverUrl","method","headers","body","JSON","stringify","then","response","ok","text","errorText","console","error","concat","statusText","catch","json","errorData","message","details","seconds","fShowMillisec","date","hh","getUTCHours","mm","getUTCMinutes","ss","getUTCSeconds","timestamp","Math","floor","ms","getUTCMilliseconds","round","toString","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","StanagPlayer","props","useRef","playerContainer","currentTimeElement","playButton","fullscreenButton","pipButton","overlay","isPaused","useState","controls","useStandardControls","showCustomeControls","setShowCustomeControls","aspectRatio","setAspectRatio","width","height","playerSize","setPlayerSize","videoDimension","setVideoDimension","_e","wsDisconnectTime","setWsDisconnectTime","peerConnection","configuration","iceServers","urls","useEffect","res","poster","onServerInfo","recorderEnabled","state","timeStarted","length","addEventListener","e","currentTime","onplay","event","preventDefault","play","pause","handlePlayPause","handleRecorderCtrl","fullscreenElement","mozFullScreen","webkitIsFullScreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","requestFullScreen","mozRequestFullScreen","webkitRequestFullScreen","toggleFullScreen","pictureInPictureElement","exitPictureInPicture","requestPictureInPicture","togglePictureInPicture","pc_1","ontrack","srcObject","streams","muted","autoplay","videoWidth","videoHeight","onStreamInfo","call","onconnectionstatechange","log","iceConnectionState","oniceconnectionstatechange","onicegatheringstatechange","iceGatheringState","addTransceiver","direction","dataChannel","createDataChannel","binaryType","onclose","onopen","onmessage","dataView","DataView","decoder","TextDecoder","msg","parse","decode","onDataReceive","klvs","toISOString","onMessageReceive","onStateChange","display","onRecorderStateChange","onRecorderEvent","location_1","window","location","origin","uri","URL","wsProto","protocol","socket_1","WebSocket","host","onError","candidate","addIceCandidate","setRemoteDescription","onerror","onConnected","code","now","onicecandidate","send","createOffer","offer","setLocalDescription","curAspectRatio","onSizeChange","RTCPeerConnection","React","className","id","defaultProps","KlvView","label"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import './style.css';
2
3
  export interface StreamType {
3
4
  videoWidth: number;
4
5
  videoHeight: number;
@@ -7,19 +8,27 @@ export interface SizeType {
7
8
  width: number;
8
9
  height: number;
9
10
  }
11
+ export interface RecorderStateType {
12
+ state: string;
13
+ timeStarted: string;
14
+ }
10
15
  export interface StanagPlayerProps {
11
16
  serverUrl?: string;
12
17
  width: number;
13
- defaultAspectRatio?: number;
14
18
  controls?: boolean;
19
+ useStandardControls?: boolean;
15
20
  autoplay?: boolean;
16
21
  iceServers?: string;
22
+ poster?: string;
17
23
  onDataReceive?(packetTime: string, klvs: JSON): void;
18
24
  onStateChange?(state: string): void;
25
+ onRecorderStateChange?(state: string): void;
26
+ onRecorderEvent?(event: string): void;
19
27
  onSizeChange?(size: SizeType): void;
20
28
  onMessageReceive?(msg: string): void;
21
29
  onConnected?(isConnected: boolean): void;
22
30
  onStreamInfo?(streamIfo: StreamType): void;
31
+ onServerInfo?(recorderInfo: any): void;
23
32
  onError?(error: string): void;
24
33
  }
25
34
  declare const StanagPlayer: {
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{useRef as n,useState as t,useEffect as o}from"react";var r=function(r){var c=n(null),a=n(!0),i=t(16/9),s=i[0],d=i[1],l=t({width:r.width,height:r.width/s}),u=l[0],h=l[1],g=t({width:1920,height:1080}),v=g[0],f=g[1],w=t(null),p=w[0],S=w[1],m=n(),C={iceServers:[{urls:r.iceServers}]};o((function(){try{var e=m.current;e.ontrack=function(e){null!=c.current&&(c.current.srcObject=e.streams[0],c.current.muted=!0,c.current.autoplay=r.autoplay,c.current.controls=r.controls,c.current.addEventListener("pause",(function(e){a.current=!0})),c.current.addEventListener("play",(function(e){a.current=!1})),c.current.addEventListener("loadedmetadata",(function(e){var n;f({width:c.current.videoWidth,height:c.current.videoHeight}),null===(n=r.onStreamInfo)||void 0===n||n.call(r,{videoWidth:c.current.videoWidth,videoHeight:c.current.videoHeight})})))},e.onconnectionstatechange=function(n){return console.log(e.iceConnectionState)},e.oniceconnectionstatechange=function(n){return console.log(e.iceConnectionState)},e.onicegatheringstatechange=function(n){return console.log(e.iceGatheringState)},e.addTransceiver("video",{direction:"sendrecv"});var n=e.createDataChannel("klv");n.binaryType="arraybuffer",n.onclose=function(){return console.log("dataChannel has closed")},n.onopen=function(){return console.log("dataChannel has opened")},n.onmessage=function(e){var n=new DataView(e.data),t=new TextDecoder("utf8"),o=JSON.parse(t.decode(n));switch(o.type){case"klv":a.current||r.onDataReceive&&r.onDataReceive(new Date(o.klvs[2]/1e3).toISOString(),o.klvs);break;case"msg":r.onMessageReceive&&r.onMessageReceive(o.msg);break;case"state":r.onStateChange&&r.onStateChange(o.state)}};var t=r.serverUrl?r.serverUrl:window.location.origin,o=new URL(t),i="ws";"http:"!=o.protocol&&(i+="s");var s=new WebSocket(i+"://".concat(o.host,"/ws"));s.onmessage=function(n){var t=JSON.parse(n.data);if(!t)return console.log("failed to parse msg");t.error?(console.log(t.error),r.onError&&r.onError(t.error)):t.candidate?e.addIceCandidate(t):e.setRemoteDescription(t)},s.onerror=function(e){console.log("Websocket Error.")},s.onclose=function(e){r.onConnected&&r.onConnected(!1),1e3!=e.code&&(console.log("Websocket closed: ".concat(e.code)),S(Date.now()))},e.onicecandidate=function(e){e.candidate&&""!==e.candidate.candidate&&s.send(JSON.stringify(e.candidate))},s.onopen=function(){r.onConnected&&r.onConnected(!0),e.createOffer().then((function(n){e.setLocalDescription(n),s.send(JSON.stringify(n))}))}}catch(e){console.log("Error: ".concat(e.message))}return function(){console.log("Player close")}}),[r.serverUrl,r.iceServers,p]),o((function(){try{var e=v.width/v.height;d(e);var n=r.width/e;h({width:r.width,height:n}),r.onSizeChange&&r.onSizeChange({width:r.width,height:n})}catch(e){console.log("Error: ".concat(e.message))}}),[v.width,v.height,r.width]);try{void 0===m.current&&(m.current=new RTCPeerConnection(C))}catch(e){console.log("Error: ".concat(e.message))}var y={width:u.width,height:u.height};return e.createElement("video",{style:y,ref:c})};r.defaultProps={width:360,controls:!0,autoplay:!0,iceServers:"stun:stun.l.google.com:19302"};var c=function(n){return e.createElement(c,null,n.label)};export{c as KlvView,r as StanagPlayer};
1
+ import e,{useRef as n,useState as t,useEffect as r}from"react";function o(e,n){var t;n.current&&((null===(t=e.current)||void 0===t?void 0:t.paused)?(n.current.textContent="▶",n.current.title="Play"):(n.current.textContent="▐▐",n.current.title="Pause"))}function c(e,n,t){var r,o,c,a;if(e.current&&t.current)switch(null===(r=t.current)||void 0===r?void 0:r.recorderState){case"starting":e.current.textContent="⭕",e.current.title="Starting recording";break;case"running":e.current.textContent="🔴",e.current.title="Stop recording",t.current.recorderTimer=setInterval((function(){var e,r,o,c,a;if(null===(e=t.current)||void 0===e?void 0:e.recordingStarted){var l=(c=t.current.recordingStarted,a=new Date(c),((new Date).getTime()-a.getTime())/1e3);null===(r=n.current)||void 0===r||r.classList.remove("recorder-idle"),null===(o=n.current)||void 0===o||o.classList.add("recorder-active"),n.current.innerHTML=i(l,!1)}}),1e3);break;case"stopping":e.current.textContent="🔘";break;case"stopped":e.current.textContent="⚪",e.current.title="Record",t.current.recorderTimer&&(clearInterval(null===(o=t.current)||void 0===o?void 0:o.recorderTimer),t.current.recorderTimer=void 0),n.current.innerHTML=i(0,!1),null===(c=n.current)||void 0===c||c.classList.remove("recorder-active"),null===(a=n.current)||void 0===a||a.classList.add("recorder-idle");break;case"waiting":e.current.textContent="🟠",e.current.title="Waiting for stream";break;case"error":e.current.textContent="🚫",e.current.title="Recording error";break;default:e.current.textContent="🔵",e.current.title="Unknown state"}}function a(e,n){var t={service:"recorder",command:n,params:""};fetch(e.current.serverUrl+"/command",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(e){e.ok||e.text().then((function(n){console.error("".concat(e.statusText," - ").concat(n))}))})).catch((function(e){e.response.json().then((function(e){console.error("Error: ".concat(e.message)),console.error("Details: ".concat(JSON.stringify(e.details)))}))}))}function i(e,n){if(void 0===n&&(n=!0),null==e)return"00:00:00.0";var t=new Date(1e3*e),r=t.getUTCHours(),o=t.getUTCMinutes(),c=t.getUTCSeconds(),a="";e>=86400&&(a+=Math.floor(e/86400)+":");if(a+=(r<10?"0"+r:r)+":"+(o<10?"0"+o:o)+":"+(c<10?"0"+c:c),n){var i=t.getUTCMilliseconds();a+="."+(Math.round(i/100)%10).toString()}return a}!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".player-row {\n display: flex;\n width: 100%;\n }\n \n.player-container {\n width: 90%;\n box-sizing: border-box;\n padding: 10px;\n position: relative;\n }\n\n.videoContainer {\n display: inline-block;\n vertical-align: top;\n}\n\n.info {\n color: dimgray;\n font-size: 0.8em;\n}\n\n.video-player {\n position: relative;\n overflow: hidden;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.video {\n width: 100%;\n}\n\n.time {\n font-size: 0.8em;\n color: greenyellow;\n width: 15%;\n text-align: center;\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 40px;\n}\n\n.recorder-time{\n font-size: 0.8em;\n color: red;\n width: 15%;\n text-align: center;\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 20px;\n font-weight: bold;\n}\n\n.recorder-active {\n opacity: 100%;\n}\n\n.recorder-idle {\n opacity: 40%;\n}\n\n.recorder-disabled {\n display: none;\n}\n\n.player-controls {\n display: flex;\n position: absolute;\n bottom: 0;\n width: 100%;\n transform: translateY(100%);\n transition: .4s;\n flex-wrap: wrap;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.video-player:hover .player-controls {\n transform: translateY(0);\n}\n\n.play-button,\n.record-button {\n width: 10%;\n background: rgba(0, 0, 0, 0);\n color: white;\n border: none;\n padding: 8px;\n}\n\n.screen-control-buttons {\n margin-left: auto; \n}\n\n.fullscreen-button,\n.pip-button { \n width: 30%;\n background: rgba(0, 0, 0, 0);\n color: black;\n border: none;\n padding: 8px;\n}\n\n.play-button:focus .record-button:focus .fullscreen-button:focus {\n outline: none;\n}\n\n.overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n display: none;\n justify-content: center;\n align-items: center;\n }\n \n .overlay p {\n color: white;\n font-size: 2rem;\n text-align: center;\n }");var l=function(l){var u=n(null),s=n(null),d=n(null),v=n(null),f=n(null),m=n(null),g=n(null),p=n(null),h=n(null),S=n(!0),b=t(l.controls&&!l.useStandardControls),y=b[0],w=b[1],C=t(16/9),k=C[0],E=C[1],x=t({width:l.width,height:l.width/k}),T=x[0],N=x[1],L=t({width:1920,height:1080}),R=L[0],U=L[1],D=t(0),P=D[0],F=D[1],z=n(),I={iceServers:l.iceServers?[{urls:l.iceServers}]:[]};r((function(){s.current&&(s.current.serverUrl=l.serverUrl),fetch(l.serverUrl+"/info").then((function(e){return e.json()})).then((function(e){var n,t;s.current.poster=e.poster,null==l||l.onServerInfo(e),e.recorderEnabled||(null===(n=v.current)||void 0===n||n.classList.add("recorder-disabled"),null===(t=m.current)||void 0===t||t.classList.add("recorder-disabled"))})),fetch(l.serverUrl+"/recorderState").then((function(e){return e.json()})).then((function(e){s.current.recorderState=e.state,s.current.recordingStarted=e.timeStarted.length>0?e.timeStarted:void 0,c(m,v,s)}))}),[l.serverUrl]),r((function(){var e,n,t,r;y&&(null!=u.current&&(u.current.addEventListener("timeupdate",(function(e){d.current.innerHTML=i(u.current.currentTime)})),u.current.onplay=function(e){o(u,f)}),null===(e=f.current)||void 0===e||e.addEventListener("click",(function(e){e.preventDefault(),function(e,n){var t,r,c;(null===(t=e.current)||void 0===t?void 0:t.paused)?null===(r=e.current)||void 0===r||r.play():null===(c=e.current)||void 0===c||c.pause(),o(e,n)}(u,f)})),null===(n=m.current)||void 0===n||n.addEventListener("click",(function(e){e.preventDefault(),function(e,n,t){if(t.current){switch(t.current.recorderState){case"starting":t.current.recorderState="stopping";break;case"stopped":t.current.recorderState="starting",a(t,"start");break;case"running":case"waiting":case"error":t.current.recorderState="stopping",a(t,"stop");break;default:t.current.recorderState="unknown"}c(e,n,t)}}(m,v,s)})),null===(t=g.current)||void 0===t||t.addEventListener("click",(function(e){!function(e){var n,t,r;document.fullscreenElement||document.mozFullScreen||document.webkitIsFullScreen?document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen():(null===(n=e.current)||void 0===n?void 0:n.requestFullScreen)?e.current.requestFullScreen():(null===(t=e.current)||void 0===t?void 0:t.mozRequestFullScreen)?e.current.mozRequestFullScreen():null===(r=e.current)||void 0===r||r.webkitRequestFullScreen()}(u)})),null===(r=p.current)||void 0===r||r.addEventListener("click",(function(e){!function(e){var n;document.pictureInPictureElement?document.exitPictureInPicture():null===(n=e.current)||void 0===n||n.requestPictureInPicture()}(u)})))}),[y]),r((function(){var e;null!=u.current&&(l.useStandardControls?(u.current.controls=null===(e=l.controls)||void 0===e||e,w(!1)):(u.current.controls=!1,w(l.controls&&!l.useStandardControls)))}),[l.controls,l.useStandardControls]),r((function(){try{var e=z.current;if(e){e.ontrack=function(e){var n,t,r,o;null!=u.current&&(u.current.srcObject=e.streams[0],u.current.muted=!0,u.current.autoplay=null!==(n=l.autoplay)&&void 0!==n&&n,u.current.controls=null!==(t=l.controls)&&void 0!==t&&t&&null!==(r=l.useStandardControls)&&void 0!==r&&r,u.current.poster=null!==(o=l.poster)&&void 0!==o?o:"".concat(l.serverUrl,"/").concat(s.current.poster),u.current.addEventListener("pause",(function(e){S.current=!0})),u.current.addEventListener("play",(function(e){S.current=!1})),u.current.addEventListener("loadedmetadata",(function(e){var n;U({width:u.current.videoWidth,height:u.current.videoHeight}),null===(n=l.onStreamInfo)||void 0===n||n.call(l,{videoWidth:u.current.videoWidth,videoHeight:u.current.videoHeight})})))},e.onconnectionstatechange=function(n){return console.log(e.iceConnectionState)},e.oniceconnectionstatechange=function(n){return console.log(e.iceConnectionState)},e.onicegatheringstatechange=function(n){return console.log(e.iceGatheringState)},e.addTransceiver("video",{direction:"sendrecv"});var n=e.createDataChannel("klv");n.binaryType="arraybuffer",n.onclose=function(){return console.log("dataChannel has closed")},n.onopen=function(){return console.log("dataChannel has opened")},n.onmessage=function(e){var n=new DataView(e.data),t=new TextDecoder("utf8"),r=JSON.parse(t.decode(n));switch(r.type){case"klv":S.current||l.onDataReceive&&l.onDataReceive(new Date(r.klvs[2]/1e3).toISOString(),r.klvs);break;case"msg":l.onMessageReceive&&l.onMessageReceive(r.msg);break;case"state":switch(l.onStateChange&&l.onStateChange(r.state),r.state){case"Timeout":"running"===s.current.recorderState&&(s.current.recorderState="waiting",c(m,v,s));break;case"Online":"waiting"===s.current.recorderState&&(s.current.recorderState="running",c(m,v,s));break;case"DemoExpired":h.current.style.display="flex"}break;case"recorderState":l.onRecorderStateChange&&l.onRecorderStateChange(r.state),s.current.recorderState=r.state,s.current.recordingStarted=r.timeStarted.length>0?r.timeStarted:void 0,c(m,v,s);break;case"recorderEvent":l.onRecorderEvent&&l.onRecorderEvent(r.event)}};var t=l.serverUrl?l.serverUrl:window.location.origin,r=new URL(t),o="ws";"http:"!=r.protocol&&(o+="s");var a=new WebSocket(o+"://".concat(r.host,"/ws"));a.onmessage=function(n){var t=JSON.parse(n.data);if(!t)return console.log("failed to parse msg");t.error?(console.log(t.error),l.onError&&l.onError(t.error)):t.candidate?e.addIceCandidate(t):e.setRemoteDescription(t)},a.onerror=function(e){console.log("Websocket Error.")},a.onclose=function(e){l.onConnected&&l.onConnected(!1),1e3!=e.code&&(console.log("Websocket closed: ".concat(e.code)),F(Date.now()))},e.onicecandidate=function(e){e.candidate&&""!==e.candidate.candidate&&a.send(JSON.stringify(e.candidate))},a.onopen=function(){l.onConnected&&l.onConnected(!0),e.createOffer().then((function(n){e.setLocalDescription(n),a.send(JSON.stringify(n))}))}}}catch(e){console.log("Error: ".concat(e.message))}return function(){console.log("Player close")}}),[l.serverUrl,l.iceServers,P]),r((function(){try{var e=R.width/R.height;E(e);var n=l.width/e;N({width:l.width,height:n}),l.onSizeChange&&l.onSizeChange({width:l.width,height:n})}catch(e){console.log("Error: ".concat(e.message))}}),[R.width,R.height,l.width]);try{void 0===z.current&&(z.current=new RTCPeerConnection(I))}catch(e){console.log("Error: ".concat(e.message))}return T.width,T.height,e.createElement("div",{className:"player-container",ref:s},e.createElement("div",{className:"videoContainer"},e.createElement("div",{className:"video-player"},e.createElement("video",{id:"videoWindow",className:"video",ref:u}),y&&e.createElement("div",{className:"player-controls"},e.createElement("button",{className:"play-button",title:"Play",ref:f},"▶"),e.createElement("button",{className:"record-button",title:"Record",ref:m},"⚪"),e.createElement("div",{className:"time"},e.createElement("span",{className:"currentPlaybackTime",title:"Playback time",ref:d},"00:00:00.000")),e.createElement("div",{className:"recorder-time"},e.createElement("span",{className:"currentRecordingTime",title:"Recording time",ref:v},"00:00:00")),e.createElement("div",{className:"screen-control-buttons"},e.createElement("button",{className:"pip-button",title:"Picture in picture",ref:p},"🔳"),e.createElement("button",{className:"fullscreen-button",title:"Full screen",ref:g},"⬜"))))),e.createElement("div",{className:"overlay",ref:h},e.createElement("p",null,"Demo expired")))};l.defaultProps={width:360,controls:!0,autoplay:!0,iceServers:"stun:stun.l.google.com:19302"};var u=function(n){return e.createElement(u,null,n.label)};export{u as KlvView,l as StanagPlayer};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/StanagPlayer/StanagPlayer.tsx","../../src/components/KlvView/KlvView.tsx"],"sourcesContent":[null,null],"names":["StanagPlayer","props","videoPlayer","useRef","isPaused","_a","useState","aspectRatio","setAspectRatio","_b","width","height","playerSize","setPlayerSize","_c","videoDimension","setVideoDimension","_d","wsDisconnectTime","setWsDisconnectTime","peerConnection","configuration","iceServers","urls","useEffect","pc_1","current","ontrack","event","srcObject","streams","muted","autoplay","controls","addEventListener","videoWidth","videoHeight","onStreamInfo","call","onconnectionstatechange","e","console","log","iceConnectionState","oniceconnectionstatechange","onicegatheringstatechange","iceGatheringState","addTransceiver","direction","dataChannel","createDataChannel","binaryType","onclose","onopen","onmessage","dataView","DataView","data","decoder","TextDecoder","msg","JSON","parse","decode","type","onDataReceive","Date","klvs","toISOString","onMessageReceive","onStateChange","state","location_1","serverUrl","window","location","origin","uri","URL","wsProto","protocol","socket_1","WebSocket","concat","host","error","onError","candidate","addIceCandidate","setRemoteDescription","onerror","onConnected","code","now","onicecandidate","send","stringify","createOffer","then","offer","setLocalDescription","message","curAspectRatio","onSizeChange","undefined","RTCPeerConnection","playerStyle","React","createElement","style","ref","defaultProps","KlvView","label"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/StanagPlayer/StanagPlayer.tsx","../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/KlvView/KlvView.tsx"],"sourcesContent":[null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null],"names":["showPlayerState","video","playerdButton","current","_a","paused","textContent","title","showRecorderState","recordButton","recorderTimeElement","player","recorderState","recorderTimer","setInterval","utcTimeString","utcTime","recordingStarted","elapsed","Date","getTime","_b","classList","remove","_c","add","innerHTML","formatTime","clearInterval","undefined","_d","sendRecorderCommand","cmd","data","service","command","params","fetch","serverUrl","method","headers","body","JSON","stringify","then","response","ok","text","errorText","console","error","concat","statusText","catch","json","errorData","message","details","seconds","fShowMillisec","date","hh","getUTCHours","mm","getUTCMinutes","ss","getUTCSeconds","timestamp","Math","floor","ms","getUTCMilliseconds","round","toString","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","StanagPlayer","props","useRef","playerContainer","currentTimeElement","playButton","fullscreenButton","pipButton","overlay","isPaused","useState","controls","useStandardControls","showCustomeControls","setShowCustomeControls","aspectRatio","setAspectRatio","width","height","playerSize","setPlayerSize","videoDimension","setVideoDimension","_e","wsDisconnectTime","setWsDisconnectTime","peerConnection","configuration","iceServers","urls","useEffect","res","poster","onServerInfo","recorderEnabled","state","timeStarted","length","addEventListener","e","currentTime","onplay","event","preventDefault","play","pause","handlePlayPause","handleRecorderCtrl","fullscreenElement","mozFullScreen","webkitIsFullScreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","requestFullScreen","mozRequestFullScreen","webkitRequestFullScreen","toggleFullScreen","pictureInPictureElement","exitPictureInPicture","requestPictureInPicture","togglePictureInPicture","pc_1","ontrack","srcObject","streams","muted","autoplay","videoWidth","videoHeight","onStreamInfo","call","onconnectionstatechange","log","iceConnectionState","oniceconnectionstatechange","onicegatheringstatechange","iceGatheringState","addTransceiver","direction","dataChannel","createDataChannel","binaryType","onclose","onopen","onmessage","dataView","DataView","decoder","TextDecoder","msg","parse","decode","onDataReceive","klvs","toISOString","onMessageReceive","onStateChange","display","onRecorderStateChange","onRecorderEvent","location_1","window","location","origin","uri","URL","wsProto","protocol","socket_1","WebSocket","host","onError","candidate","addIceCandidate","setRemoteDescription","onerror","onConnected","code","now","onicecandidate","send","createOffer","offer","setLocalDescription","curAspectRatio","onSizeChange","RTCPeerConnection","React","className","id","defaultProps","KlvView","label"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,16 +10,20 @@ interface SizeType {
10
10
  interface StanagPlayerProps {
11
11
  serverUrl?: string;
12
12
  width: number;
13
- defaultAspectRatio?: number;
14
13
  controls?: boolean;
14
+ useStandardControls?: boolean;
15
15
  autoplay?: boolean;
16
16
  iceServers?: string;
17
+ poster?: string;
17
18
  onDataReceive?(packetTime: string, klvs: JSON): void;
18
19
  onStateChange?(state: string): void;
20
+ onRecorderStateChange?(state: string): void;
21
+ onRecorderEvent?(event: string): void;
19
22
  onSizeChange?(size: SizeType): void;
20
23
  onMessageReceive?(msg: string): void;
21
24
  onConnected?(isConnected: boolean): void;
22
25
  onStreamInfo?(streamIfo: StreamType): void;
26
+ onServerInfo?(recorderInfo: any): void;
23
27
  onError?(error: string): void;
24
28
  }
25
29
  declare const StanagPlayer: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@impleotv/stanag-player",
3
- "version": "0.1.18",
3
+ "version": "1.0.1",
4
4
  "description": "Impleotv web player",
5
5
  "private": false,
6
6
  "scripts": {},