@bddh/starling-realtime-client 2.0.11-beta.1 → 2.0.11-beta.2
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.
- package/LICENSE +21 -0
- package/cjs/BrtcClient.d.ts +6 -0
- package/cjs/BrtcClient.js +1 -1
- package/cjs/Client.d.ts +11 -2
- package/cjs/Client.js +1 -1
- package/cjs/Cutout.d.ts +2 -2
- package/cjs/Cutout.js +1 -1
- package/cjs/DomControl.d.ts +1 -0
- package/cjs/DomControl.js +1 -1
- package/cjs/RecordController.js +1 -1
- package/cjs/Server.d.ts +3 -0
- package/cjs/Server.js +1 -1
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/cjs/index.js +1 -1
- package/cjs/interface.d.ts +10 -1
- package/cjs/interface.js +1 -1
- package/es/BrtcClient.d.ts +6 -0
- package/es/BrtcClient.js +1 -1
- package/es/Client.d.ts +11 -2
- package/es/Client.js +1 -1
- package/es/Cutout.d.ts +2 -2
- package/es/Cutout.js +1 -1
- package/es/DomControl.d.ts +1 -0
- package/es/DomControl.js +1 -1
- package/es/RecordController.js +1 -1
- package/es/Server.d.ts +3 -0
- package/es/Server.js +1 -1
- package/es/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/es/index.js +1 -1
- package/es/interface.d.ts +10 -1
- package/es/interface.js +1 -1
- package/package.json +2 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) zhangyibo02@baidu.com
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/cjs/BrtcClient.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ export interface BizConfig {
|
|
|
46
46
|
welcomeContent?: string;
|
|
47
47
|
autoChromaKey?: boolean;
|
|
48
48
|
chromaEffects?: ChromaEffectOptions;
|
|
49
|
+
remoteAutoPlay?: boolean;
|
|
49
50
|
}
|
|
50
51
|
export interface RtcCallback {
|
|
51
52
|
[x: string]: any;
|
|
@@ -83,12 +84,17 @@ declare class BrtcClient {
|
|
|
83
84
|
private readonly rtcCallback?;
|
|
84
85
|
private restarting;
|
|
85
86
|
private readonly timeoutEvent;
|
|
87
|
+
private timeoutStarted;
|
|
86
88
|
private reopenTimer;
|
|
87
89
|
private restartCount;
|
|
88
90
|
private readonly closeLog;
|
|
91
|
+
private stopped;
|
|
89
92
|
private haveVideoOn;
|
|
90
93
|
private rtcStateCallback;
|
|
91
94
|
constructor(props: BrtcClientType);
|
|
95
|
+
private startRtcTimeout;
|
|
96
|
+
private clearRtcTimeout;
|
|
97
|
+
mergeRtcConfig: (partial: Record<string, unknown>) => void;
|
|
92
98
|
openRtc: (rtcConnection: RtcConnectionType) => void;
|
|
93
99
|
closeRtc: () => void;
|
|
94
100
|
restartRtc: (rtcConnection: RtcConnectionType) => void;
|
package/cjs/BrtcClient.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("./_virtual/_rollupPluginBabelHelpers.js"),e=require("@bddh/starling-brtc"),o=require("@bddh/starling-timeout-controller"),n=require("@bddh/starling-json"),i=require("lodash/isEmpty"),c=require("lodash/isFunction"),r=require("./interface.js"),a=function(){function a(l){var s=this;t.classCallCheck(this,a),t.defineProperty(this,"client",void 0),t.defineProperty(this,"isRtcVideoOn",!1),t.defineProperty(this,"rtcConnection",void 0),t.defineProperty(this,"rtcConfig",void 0),t.defineProperty(this,"bizConfig",void 0),t.defineProperty(this,"rtcCallback",void 0),t.defineProperty(this,"restarting",!1),t.defineProperty(this,"timeoutEvent",void 0),t.defineProperty(this,"timeoutStarted",!1),t.defineProperty(this,"reopenTimer",void 0),t.defineProperty(this,"restartCount",0),t.defineProperty(this,"closeLog",!0),t.defineProperty(this,"stopped",!1),t.defineProperty(this,"haveVideoOn",!1),t.defineProperty(this,"rtcStateCallback",null),t.defineProperty(this,"startRtcTimeout",(function(){s.timeoutStarted||(s.timeoutEvent.start(),s.timeoutStarted=!0)})),t.defineProperty(this,"clearRtcTimeout",(function(){s.timeoutStarted&&(s.timeoutEvent.clear(),s.timeoutStarted=!1)})),t.defineProperty(this,"mergeRtcConfig",(function(t){s.rtcConfig&&t&&Object.keys(t).length&&Object.assign(s.rtcConfig,t)})),t.defineProperty(this,"openRtc",(function(t){if(s.stopped=!1,s.restarting)!s.closeLog&&console.warn("rtc restarting");else if(t&&(s.rtcConnection=t),s.rtcConnection&&!i(s.rtcConnection)){var o,a=s.rtcConnection,l=a.server,d=a.appId,u=a.token,f=a.roomName,m=a.userId,C=s.rtcCallback||{},b=C.onRemotedata,g=C.onLocalStream,p=C.onRemoteVideoComing,y=C.onLocalVideoPublished,h=C.onLocalVideoPublishing,v=C.onRemoteVideoOn,R=C.onRemoteVideoOff,S=C.onRemoteVideoLoading,L=C.onSuccess,k=C.onError,P=C.onLocalVideoConnected,E=C.onRemoteVideoConnected,V=C.onRemoteMediaState,T=C.onPlayingError,O=C.onDigitalHumanCallback;null===(o=s.client)||void 0===o||o.destroy(),s.client=void 0,s.startRtcTimeout(),s.rtcStateCallback=function(t){var e=t.body,o=t.action;O&&O({status:r.statusEnum.DH_LIB_FULL_STATUS,content:{type:"rtcState",action:o,body:e}})},s.client=new e({roomName:f,token:u,userId:m,appId:d,server:l,rtcConfig:s.rtcConfig,callback:{onRemoteVideoConnected:function(e,o){var n;if(!o&&!s.haveVideoOn)var i=setTimeout((function(){s.restartCount<3?(s.restartCount=++s.restartCount,s.restartRtc&&s.restartRtc(t)):(s.restartCount=0,s.closeRtc()),clearTimeout(i)}),500);if(o&&!1!==(null===(n=s.bizConfig)||void 0===n?void 0:n.remoteAutoPlay)){var a=document.getElementById("remotevideo500");if(a){a.muted=!1;var l=a.play();void 0!==l&&l.catch((function(){a.muted=!0,a.play().catch((function(t){!s.closeLog&&console.info("videoElement play error",t),T&&T(a),O&&O({status:r.statusEnum.DH_LIB_ERROR,content:{type:r.errorTypeEnum.LOCAL_VIDEO_ERROR}})})),O&&O({status:r.statusEnum.DH_LIB_STATUS,content:{type:r.errorTypeEnum.LOCAL_VIDEO_MUTED}})}))}else!s.closeLog&&console.error("videoElement is null!")}!s.closeLog&&console.info("remoteVideoConnected",e,o,s.restartCount),s.rtcStateCallback&&s.rtcStateCallback({action:"remoteVideoConnected",body:{id:e,connected:o,restartCount:s.restartCount}}),c(E)&&E(e,o)},onRemoteVideoOn:function(t){s.haveVideoOn=!0,!s.closeLog&&console.info("remotevideoon by id: ",t),s.clearRtcTimeout();var e=document.querySelector("#starlingRtcContainer"),o=e&&e.lastChild;o&&(o.style.display="none"),s.rtcStateCallback&&s.rtcStateCallback({action:"remotevideoon",body:t}),O&&O({status:r.statusEnum.DH_LIB_OPEN}),c(v)&&v(t)},onRemoteMediaState:function(t,e,o){!s.closeLog&&console.info("remoteMediaState",t,e,o),s.rtcStateCallback&&s.rtcStateCallback({action:"remoteMediaState",body:{id:t,medium:e,connected:o}}),c(V)&&V(t,e,o)},onLocalVideoConnected:function(t){!s.closeLog&&console.info("localVideoConnected",t),s.rtcStateCallback&&s.rtcStateCallback({action:"localVideoConnected",body:{connected:t}}),c(P)&&P(t)},onRemotedata:function(t){if(s.rtcConfig&&s.rtcConfig.usingdatachannel){var e=n.parse(t);!s.closeLog&&console.info("RTC - receive:",e),c(b)&&b(e)}},onLocalStream:function(t,e){!s.closeLog&&console.info("rtc - onlocalstream by name: "+e),s.rtcStateCallback&&s.rtcStateCallback({action:"onlocalstream",body:{stream:t,name:e}}),c(g)&&g(t,e)},onLocalVideoPublished:function(){!s.closeLog&&console.info("LocalVideoPublished 本地视频发布成功"),s.rtcStateCallback&&s.rtcStateCallback({action:"localvideopublished_ok",body:!0}),c(y)&&y()},onLocalVideoPublishing:function(){!s.closeLog&&console.info("LocalVideoPublishing 本地视频发布成功"),s.rtcStateCallback&&s.rtcStateCallback({action:"localvideopublishing",body:!0}),c(h)&&h()},onRemoteVideoComing:function(t){!s.closeLog&&console.info("remotevideocoming",t),s.rtcStateCallback&&s.rtcStateCallback({action:"remotevideocoming",body:t}),c(p)&&p(t)},onRemoteVideoLoading:function(t){!s.closeLog&&console.info("remotevideoloading by id: ",t),s.rtcStateCallback&&s.rtcStateCallback({action:"remotevideoloading",body:t}),c(S)&&S(t)},onRemoteVideoOff:function(t){if(!s.stopped){var e=document.getElementById("remotevideo500");e&&e.pause(),!s.closeLog&&console.info("remotevideooff: ",t),s.isRtcVideoOn=!1,s.rtcStateCallback&&s.rtcStateCallback({action:"remotevideooff",body:t}),O&&O({status:r.statusEnum.DH_LIB_CLOSE}),c(R)&&R(t),s.startRtcTimeout()}},onSuccess:function(){!s.closeLog&&console.info("rtc - success"),s.rtcStateCallback&&s.rtcStateCallback({action:"success",body:!0}),c(L)&&L()},onError:function(e){s.stopped||(s.isRtcVideoOn=!1,!s.closeLog&&console.error("rtc - error:",e),s.rtcStateCallback&&s.rtcStateCallback({action:"error",body:e}),O&&O({status:r.statusEnum.DH_LIB_ERROR,content:{type:r.errorTypeEnum.RTC_ERROR}}),c(k)&&k(e),(e.includes("Lost connection to the server")||e.includes("Is the server down"))&&s.restartRtc&&s.restartRtc(t))}}})}})),t.defineProperty(this,"closeRtc",(function(){var t;s.stopped=!0,s.clearRtcTimeout(),clearTimeout(s.reopenTimer),null===(t=s.client)||void 0===t||t.destroy(),s.client=void 0,s.restarting=!1})),t.defineProperty(this,"restartRtc",(function(t){s.stopped||!s.restarting&&s.bizConfig&&s.bizConfig.autoReConnect&&(s.rtcStateCallback&&s.rtcStateCallback({action:"restartRtc",body:t}),s.restarting=!0,s.closeRtc(),s.reopenTimer=setTimeout((function(){!s.closeLog&&console.error("拉流失败,开始重启"),s.restarting=!1,s.openRtc(t)}),2e3))}));var d=l.rtcConnection,u=l.rtcConfig,f=l.closeLog,m=void 0===f||f,C=l.rtcCallback,b=l.bizConfig;this.rtcConnection=d,this.rtcConfig=u,this.rtcCallback=C,this.closeLog=m,this.bizConfig=b,this.timeoutEvent=new o.TimeoutController(6e4,(function(){if(s.timeoutStarted=!1,!s.stopped)return s.rtcConnection?void(s.restartRtc&&s.restartRtc(s.rtcConnection)):!s.closeLog&&console.warn("remotevideoon事件超时, rtcConnectionRef is null")}))}return t.createClass(a,[{key:"muteMicphone",value:function(t){this.client&&this.client.muteMicphone&&this.client.muteMicphone(t)}}]),a}();exports.default=a;
|
package/cjs/Client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @description 云渲染数字人sdk
|
|
4
4
|
* @author zhangyue49
|
|
5
5
|
*/
|
|
6
|
-
import { DhRealtimeHumanType, ConnectDataType, CallbackMsgType } from './interface';
|
|
6
|
+
import { DhRealtimeHumanType, ConnectDataType, CallbackMsgType, EffectsType } from './interface';
|
|
7
7
|
import { DHServerInterface, RenderCallback } from './Server';
|
|
8
8
|
export default class DhRealtimeHuman {
|
|
9
9
|
private token;
|
|
@@ -15,15 +15,21 @@ export default class DhRealtimeHuman {
|
|
|
15
15
|
private rtcServer?;
|
|
16
16
|
private rtcConnectParams;
|
|
17
17
|
private cutoutInstance?;
|
|
18
|
+
private hasInitChromaEffects;
|
|
18
19
|
private readonly isHuawei;
|
|
19
20
|
private rtcServerUrl;
|
|
21
|
+
private rtcInternalIp;
|
|
20
22
|
private recordController;
|
|
21
23
|
private wsReadyState;
|
|
22
24
|
private readonly isPreOpenSession;
|
|
23
25
|
private readonly openWsOnly;
|
|
24
|
-
private
|
|
26
|
+
private hasConnectUserFigureEffects;
|
|
25
27
|
private _isMicMuted;
|
|
28
|
+
private mergeConnectRtcExtras;
|
|
29
|
+
private emitRawStatusMessage;
|
|
30
|
+
private resolveMediaServerByDomain?;
|
|
26
31
|
constructor(props: DhRealtimeHumanType);
|
|
32
|
+
canShowStaticFrameCover(): boolean;
|
|
27
33
|
init(props: DhRealtimeHumanType): void;
|
|
28
34
|
onDigitalHumanCallbackPlus: (data: CallbackMsgType) => void;
|
|
29
35
|
onRemoteVideoComing: (id: number) => void;
|
|
@@ -31,6 +37,9 @@ export default class DhRealtimeHuman {
|
|
|
31
37
|
onRemoteVideoOn: () => void;
|
|
32
38
|
onRemoteVideoOffLastFrame: () => void;
|
|
33
39
|
connectListener: (data: ConnectDataType) => void;
|
|
40
|
+
handleConnectResponse(data: ConnectDataType): Promise<void>;
|
|
41
|
+
mergeConnectRtcExtrasFromBody(body: Record<string, any>): Promise<void>;
|
|
42
|
+
applyConnectChroma(effects: EffectsType): Promise<void>;
|
|
34
43
|
createServer: (sessionId?: string) => void;
|
|
35
44
|
checkHumanInstansce: () => boolean;
|
|
36
45
|
sendMessage: (message: DHServerInterface | ArrayBuffer, listener: RenderCallback | null) => Promise<void> | null;
|
package/cjs/Client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _rollupPluginBabelHelpers=require("./_virtual/_rollupPluginBabelHelpers.js"),CustomJSON=require("@bddh/starling-json"),isEmpty=require("lodash/isEmpty"),omit=require("lodash/omit"),pick=require("lodash/pick"),uuid=require("uuid"),_interface=require("./interface.js"),Server=require("./Server.js"),BrtcClient=require("./BrtcClient.js"),DomControl=require("./DomControl.js"),Cutout=require("./Cutout.js"),RecordController=require("./RecordController.js"),DhRealtimeHuman=function(){function DhRealtimeHuman(props){var _this=this;_rollupPluginBabelHelpers.classCallCheck(this,DhRealtimeHuman),_rollupPluginBabelHelpers.defineProperty(this,"token",void 0),_rollupPluginBabelHelpers.defineProperty(this,"appKey",void 0),_rollupPluginBabelHelpers.defineProperty(this,"appId",void 0),_rollupPluginBabelHelpers.defineProperty(this,"connectParams",void 0),_rollupPluginBabelHelpers.defineProperty(this,"onDigitalHumanCallback",void 0),_rollupPluginBabelHelpers.defineProperty(this,"dhServer",void 0),_rollupPluginBabelHelpers.defineProperty(this,"rtcServer",void 0),_rollupPluginBabelHelpers.defineProperty(this,"rtcConnectParams",void 0),_rollupPluginBabelHelpers.defineProperty(this,"cutoutInstance",void 0),_rollupPluginBabelHelpers.defineProperty(this,"isHuawei",DomControl.checkIsHuawei()),_rollupPluginBabelHelpers.defineProperty(this,"rtcServerUrl",void 0),_rollupPluginBabelHelpers.defineProperty(this,"recordController",null),_rollupPluginBabelHelpers.defineProperty(this,"wsReadyState",-1),_rollupPluginBabelHelpers.defineProperty(this,"isPreOpenSession",!1),_rollupPluginBabelHelpers.defineProperty(this,"openWsOnly",!1),_rollupPluginBabelHelpers.defineProperty(this,"enableLastFrameCover",!1),_rollupPluginBabelHelpers.defineProperty(this,"_isMicMuted",!1),_rollupPluginBabelHelpers.defineProperty(this,"onDigitalHumanCallbackPlus",(function(data){var _this$rtcServer,content=data.content;data.status===_interface.statusEnum.DH_LIB_FULL_STATUS&&"wsState"===(null==content?void 0:content.type)&&(_this.wsReadyState=content.readyState,3===content.readyState&&(null===(_this$rtcServer=_this.rtcServer)||void 0===_this$rtcServer||_this$rtcServer.closeRtc(),_this.enableLastFrameCover&&(DomControl.setHumanPlayerWrapperVisible(!1),DomControl.setLastFrameCoverVisible(!0))));_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback(data)})),_rollupPluginBabelHelpers.defineProperty(this,"onRemoteVideoComing",(function(id){_this.rtcConnectParams&&_this.rtcConnectParams.feedId&&id===+_this.rtcConnectParams.feedId&&_this.rtcServer&&_this.rtcServer.client&&_this.rtcServer.client.subscribeStreaming("remotevideo500",+_this.rtcConnectParams.feedId)})),_rollupPluginBabelHelpers.defineProperty(this,"onLocalStream",(function(){(_this.connectParams||{}).pullAudioFromRtc&&_this.rtcServer&&_this.rtcServer.muteMicphone(_this._isMicMuted)})),_rollupPluginBabelHelpers.defineProperty(this,"onRemoteVideoOn",(function(){setTimeout(_rollupPluginBabelHelpers.asyncToGenerator(_rollupPluginBabelHelpers.regeneratorRuntime().mark((function _callee(){var video;return _rollupPluginBabelHelpers.regeneratorRuntime().wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:if(!_this.enableLastFrameCover){_context.next=8;break}if(video=document.getElementById(DomControl.RTC_VIDEO_ID),!_this.cutoutInstance||!video){_context.next=5;break}return _context.next=5,_this.cutoutInstance.updateSource(video);case 5:DomControl.captureLastFrameToCover(),DomControl.setHumanPlayerWrapperVisible(!0),DomControl.setLastFrameCoverVisible(!1);case 8:case"end":return _context.stop()}}),_callee)}))),100)})),_rollupPluginBabelHelpers.defineProperty(this,"onRemoteVideoOffLastFrame",(function(){DomControl.setLastFrameCoverVisible(!0)})),_rollupPluginBabelHelpers.defineProperty(this,"connectListener",(function(data){var code=data.code,body=data.body,message=data.message;if(0===code&&_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:_interface.statusEnum.DH_LIB_WS_SUCCESS,content:data}),0===code){var _data=CustomJSON.parse(body),server=_data.rtcServerUrl,appId=_data.appId,token=_data.clientToken,roomName=_data.roomName,userId=_data.clientId,feedId=_data.feedId,chargeId=_data.chargeId;appId&&roomName&&(_this.rtcConnectParams={server:_this.rtcServerUrl||server,appId:appId,token:token,roomName:roomName,userId:userId,feedId:feedId,chargeId:chargeId},_this.rtcServer&&_this.rtcServer.openRtc(_this.rtcConnectParams))}else _this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:_interface.statusEnum.DH_LIB_ERROR,content:{type:_interface.errorTypeEnum.CONNECT_ERROR,msg:{code:code,errMsg:message}}})})),_rollupPluginBabelHelpers.defineProperty(this,"createServer",(function(sessionId){var _this$dhServer,params=_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({token:_this.token,appKey:_this.appKey,appId:_this.appId},sessionId?{sessionId:sessionId}:{}),pick(_this.connectParams,_interface.CONNECT_MAIN_KEY)),{},{parameters:omit(_this.connectParams,_interface.CONNECT_MAIN_KEY),onConnect:_this.connectListener,onDigitalHumanCallback:_this.onDigitalHumanCallbackPlus});null!==(_this$dhServer=_this.dhServer)&&void 0!==_this$dhServer&&_this$dhServer.preConnectSuccess?(_this.dhServer.connectParams=params,_this.dhServer&&_this.dhServer.sendPreConnect(params)):_this.openWsOnly?_this.dhServer&&_this.dhServer.sendConnect(params):_this.dhServer&&_this.dhServer.createSocket(params)})),_rollupPluginBabelHelpers.defineProperty(this,"checkHumanInstansce",(function(){return _this.dhServer?!(_this.isPreOpenSession&&!_this.dhServer.preConnectSuccess)||(_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:_interface.statusEnum.DH_LIB_ERROR,content:{type:_interface.errorTypeEnum.CONNECT_ERROR,msg:{code:4001,errMsg:"webSocket连接中"}}}),!1):(_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:_interface.statusEnum.DH_LIB_ERROR,content:{type:_interface.errorTypeEnum.CONNECT_ERROR,msg:{code:4002,errMsg:"请先初始化数字人实例"}}}),!1)})),_rollupPluginBabelHelpers.defineProperty(this,"sendMessage",(function(message,listener){return _this.dhServer&&_this.dhServer.sendMessage(message,listener)})),_rollupPluginBabelHelpers.defineProperty(this,"interrupt",_rollupPluginBabelHelpers.asyncToGenerator(_rollupPluginBabelHelpers.regeneratorRuntime().mark((function _callee2(){return _rollupPluginBabelHelpers.regeneratorRuntime().wrap((function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.abrupt("return",new Promise((function(resolve){_this.dhServer&&_this.dhServer.sendMessage({requestId:uuid.v4(),action:"TEXT_RENDER",body:"<interrupt></interrupt>",clientTs:(new Date).getTime()},(function(){return resolve()}))})));case 1:case"end":return _context2.stop()}}),_callee2)})))),_rollupPluginBabelHelpers.defineProperty(this,"textRender",(function(renderData){var requestId=renderData.requestId,body=renderData.body,onCallbackMsg=renderData.onCallbackMsg;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||uuid.v4(),action:"TEXT_RENDER",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_rollupPluginBabelHelpers.defineProperty(this,"textStreamRender",(function(renderData){var requestId=renderData.requestId,body=renderData.body,onCallbackMsg=renderData.onCallbackMsg,first=CustomJSON.parse(body).first;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||uuid.v4(),action:"TEXT_STREAM_RENDER",body:body,clientTs:(new Date).getTime()},first?onCallbackMsg:null)})),_rollupPluginBabelHelpers.defineProperty(this,"audioRender",(function(renderData){var body=renderData.body,onCallbackMsg=renderData.onCallbackMsg;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:uuid.v4(),action:"AUDIO_RENDER",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_rollupPluginBabelHelpers.defineProperty(this,"audioStreamRender",(function(renderData){var requestId=renderData.requestId,body=renderData.body,onCallbackMsg=renderData.onCallbackMsg;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||uuid.v4(),action:"AUDIO_STREAM_RENDER",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_rollupPluginBabelHelpers.defineProperty(this,"textQuery",(function(queryData){var requestId=queryData.requestId,body=queryData.body,onCallbackMsg=queryData.onCallbackMsg;_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||uuid.v4(),action:"TEXT_QUERY",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_rollupPluginBabelHelpers.defineProperty(this,"destroy",_rollupPluginBabelHelpers.asyncToGenerator(_rollupPluginBabelHelpers.regeneratorRuntime().mark((function _callee3(){var _this$recordControlle;return _rollupPluginBabelHelpers.regeneratorRuntime().wrap((function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _this.enableLastFrameCover?(DomControl.playHumanVideo(!1),DomControl.setHumanPlayerWrapperVisible(!1),DomControl.setLastFrameCoverVisible(!0)):(DomControl.removeHumanDom(),DomControl.removeLastFrameCoverWrapper()),_context3.next=3,_this.dhServer&&_this.dhServer.closeSocket();case 3:_this.rtcServer&&_this.rtcServer.closeRtc(),null===(_this$recordControlle=_this.recordController)||void 0===_this$recordControlle||_this$recordControlle.destroy(),_this.dhServer=null,_this.rtcServer=null;case 7:case"end":return _context3.stop()}}),_callee3)})))),_rollupPluginBabelHelpers.defineProperty(this,"pauseHuman",(function(){return DomControl.playHumanVideo(!1)})),_rollupPluginBabelHelpers.defineProperty(this,"playHuman",(function(){return DomControl.playHumanVideo(!0)})),_rollupPluginBabelHelpers.defineProperty(this,"muteHuman",(function(){return DomControl.muteHumanVideo(!0)})),_rollupPluginBabelHelpers.defineProperty(this,"unMuteHuman",(function(){var humanVideo=DomControl.muteHumanVideo(!1);try{return _this.isHuawei?(humanVideo.pause(),humanVideo.play()):humanVideo.paused&&humanVideo.play()}catch(e){console.info(e)}}));var _props$isPreOpenSessi=props.isPreOpenSession,isPreOpenSession=void 0!==_props$isPreOpenSessi&&_props$isPreOpenSessi,_props$isOpenWsOnly=props.isOpenWsOnly,isOpenWsOnly=void 0!==_props$isOpenWsOnly&&_props$isOpenWsOnly,wsUrl=props.wsUrl,renderParams=props.renderParams,checkHeartbeatMismatch=props.checkHeartbeatMismatch,onDigitalHumanCallback=props.onDigitalHumanCallback;this.isPreOpenSession=isPreOpenSession,this.openWsOnly=isOpenWsOnly,this.dhServer=new Server.default(wsUrl||"wss://open.xiling.baidu.com/cloud/digital-human-demonstration",{checkHeartbeatMismatch:checkHeartbeatMismatch}),this.onDigitalHumanCallback=function(data){data.status!==_interface.statusEnum.DH_LIB_FULL_STATUS?onDigitalHumanCallback&&onDigitalHumanCallback(data):(null==renderParams?void 0:renderParams.fullStatus)&&onDigitalHumanCallback&&onDigitalHumanCallback(data)},isPreOpenSession||isOpenWsOnly?this.dhServer.createSocket({onDigitalHumanCallback:this.onDigitalHumanCallbackPlus},isPreOpenSession):this.init(props)}return _rollupPluginBabelHelpers.createClass(DhRealtimeHuman,[{key:"init",value:function(props){var _connectParams$reConn,_this2=this,wrapperId=props.wrapperId,token=props.token,appKey=props.appKey,appId=props.appId,connectParams=props.connectParams,_props$renderParams=props.renderParams,renderParams=void 0===_props$renderParams?{}:_props$renderParams,rtcConnectParams=props.rtcConnectParams,brtcParams=props.brtcParams,rtcServerUrl=props.rtcServerUrl;if(this.token=token,this.appKey=appKey,this.appId=appId,this.rtcServerUrl=rtcServerUrl,this.connectParams=_rollupPluginBabelHelpers.objectSpread2({autoChromaKey:(null==renderParams?void 0:renderParams.autoChromaKey)||!1},connectParams),!appId&&!appKey&&!token)throw new Error("appId and appKey or token is required");var closeLog=renderParams.closeLog,audio3AConstraints=renderParams.audio3AConstraints;this.enableLastFrameCover=!!renderParams.enableLastFrameCover,DomControl.removeLastFrameCoverWrapper(),DomControl.removeHumanDom();var playerWrapper=(DomControl.createHumanDom({autoChromaKey:!!renderParams.autoChromaKey||!isEmpty(renderParams.chromaEffects)})||{}).playerWrapper,wrapperEle=document.getElementById(wrapperId||"");wrapperEle||console.error("dom with wrapperId is not find"),playerWrapper&&wrapperEle&&wrapperEle.appendChild(playerWrapper),this.enableLastFrameCover&&wrapperEle&&("static"===window.getComputedStyle(wrapperEle).position&&(wrapperEle.style.position="relative"),DomControl.appendLastFrameCoverSibling(wrapperEle)),DomControl.appendRtcDomStyle();var rtcConfig=_rollupPluginBabelHelpers.objectSpread2({remotevideoviewid:wrapperId,showvideobps:!1,usingvideo:!1,usingaudio:!(null==connectParams||!connectParams.pullAudioFromRtc),aspublisher:!(null==connectParams||!connectParams.pullAudioFromRtc),autopublish:!(null==connectParams||!connectParams.pullAudioFromRtc),usingdatachannel:!0,autoplaymuted:!1},brtcParams);this.rtcServer=new BrtcClient.default({closeLog:closeLog,videoWrapperId:DomControl.RTC_VIDEO_ID,rtcConfig:rtcConfig,bizConfig:{autoReConnect:null===(_connectParams$reConn=null==connectParams?void 0:connectParams.reConnect)||void 0===_connectParams$reConn||_connectParams$reConn},rtcCallback:_rollupPluginBabelHelpers.objectSpread2({onRemoteVideoComing:this.onRemoteVideoComing,onDigitalHumanCallback:this.onDigitalHumanCallback,onLocalStream:this.onLocalStream,onRemoteVideoOn:this.onRemoteVideoOn},this.enableLastFrameCover?{onRemoteVideoOff:this.onRemoteVideoOffLastFrame}:{})}),(!isEmpty(null==renderParams?void 0:renderParams.chromaEffects)||null!=renderParams&&renderParams.autoChromaKey)&&(this.cutoutInstance=new Cutout.default({sourceId:DomControl.RTC_VIDEO_ID,effects:null==renderParams?void 0:renderParams.chromaEffects})),isEmpty(rtcConnectParams)||(this.rtcConnectParams=rtcConnectParams,this.rtcServer.openRtc(rtcConnectParams)),null!=connectParams&&connectParams.pullAudioFromRtc?this.recordController=null:this.recordController=new RecordController.default({pickAudioMode:null==connectParams?void 0:connectParams.pickAudioMode,audio3AConstraints:audio3AConstraints,asrSample:null==connectParams?void 0:connectParams.asrSample,onAudioData:function(pcmData){1===_this2.wsReadyState&&_this2.sendMessage(pcmData,null)},onError:function(err){_this2.onDigitalHumanCallback&&_this2.onDigitalHumanCallback({status:_interface.statusEnum.DH_LIB_ERROR,content:{type:_interface.errorTypeEnum.CONNECT_ERROR,msg:{code:-1,errMsg:err.message}}})}})}},{key:"startRecord",value:function(){var _this$connectParams;null!==(_this$connectParams=this.connectParams)&&void 0!==_this$connectParams&&_this$connectParams.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!1):this.recordController&&this.recordController.start()}},{key:"stopRecord",value:function(){var _this$connectParams2;if(null!==(_this$connectParams2=this.connectParams)&&void 0!==_this$connectParams2&&_this$connectParams2.pullAudioFromRtc)return this.rtcServer&&this.rtcServer.muteMicphone(!0),void this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:uuid.v4(),clientTs:Date.now(),body:""},null);this.recordController&&this.recordController.stop(),this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:uuid.v4(),clientTs:Date.now(),body:""},null)}},{key:"muteMicrophone",value:function(isMute){var _this$connectParams3,_this$rtcServer2;null!==(_this$connectParams3=this.connectParams)&&void 0!==_this$connectParams3&&_this$connectParams3.pullAudioFromRtc&&(this._isMicMuted=isMute,null===(_this$rtcServer2=this.rtcServer)||void 0===_this$rtcServer2||_this$rtcServer2.muteMicphone(isMute))}}]),DhRealtimeHuman}();exports.default=DhRealtimeHuman;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./_virtual/_rollupPluginBabelHelpers.js"),t=require("@bddh/starling-json"),r=require("lodash/isEmpty"),n=require("lodash/omit"),a=require("lodash/pick"),o=require("uuid"),i=require("./interface.js"),s=require("./Server.js"),c=require("./BrtcClient.js"),u=require("./DomControl.js"),l=require("./Cutout.js"),d=require("./RecordController.js"),m=function(m,h,p){function v(r){var c=this;e.classCallCheck(this,v),e.defineProperty(this,"token",void 0),e.defineProperty(this,"appKey",void 0),e.defineProperty(this,"appId",void 0),e.defineProperty(this,"connectParams",void 0),e.defineProperty(this,"onDigitalHumanCallback",void 0),e.defineProperty(this,"dhServer",void 0),e.defineProperty(this,"rtcServer",void 0),e.defineProperty(this,"rtcConnectParams",void 0),e.defineProperty(this,"cutoutInstance",void 0),e.defineProperty(this,"hasInitChromaEffects",!1),e.defineProperty(this,"isHuawei",u.checkIsHuawei()),e.defineProperty(this,"rtcServerUrl",void 0),e.defineProperty(this,"rtcInternalIp",void 0),e.defineProperty(this,"recordController",null),e.defineProperty(this,"wsReadyState",-1),e.defineProperty(this,"isPreOpenSession",!1),e.defineProperty(this,"openWsOnly",!1),e.defineProperty(this,"hasConnectUserFigureEffects",!1),e.defineProperty(this,"_isMicMuted",!1),e.defineProperty(this,"mergeConnectRtcExtras",!1),e.defineProperty(this,"emitRawStatusMessage",!1),e.defineProperty(this,"resolveMediaServerByDomain",void 0),e.defineProperty(this,"onDigitalHumanCallbackPlus",(function(e){var t,r=e.content;e.status===i.statusEnum.DH_LIB_FULL_STATUS&&"wsState"===(null==r?void 0:r.type)&&(c.wsReadyState=r.readyState,3===r.readyState&&(null===(t=c.rtcServer)||void 0===t||t.closeRtc(),c.canShowStaticFrameCover()&&(u.setHumanPlayerWrapperVisible(!1),u.setLastFrameCoverVisible(!0))));c.onDigitalHumanCallback&&c.onDigitalHumanCallback(e)})),e.defineProperty(this,"onRemoteVideoComing",(function(e){c.rtcConnectParams&&c.rtcConnectParams.feedId&&e===+c.rtcConnectParams.feedId&&c.rtcServer&&c.rtcServer.client&&c.rtcServer.client.subscribeStreaming("remotevideo500",+c.rtcConnectParams.feedId)})),e.defineProperty(this,"onLocalStream",(function(){(c.connectParams||{}).pullAudioFromRtc&&c.rtcServer&&c.rtcServer.muteMicphone(c._isMicMuted)})),e.defineProperty(this,"onRemoteVideoOn",(function(){setTimeout(e.asyncToGenerator(e.regeneratorRuntime().mark((function t(){var r;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=document.getElementById(u.RTC_VIDEO_ID),!c.cutoutInstance||!r){e.next=4;break}return e.next=4,c.cutoutInstance.updateSource(r);case 4:c.canShowStaticFrameCover()&&(u.captureLastFrameToCover(),u.setHumanPlayerWrapperVisible(!0),u.setLastFrameCoverVisible(!1));case 5:case"end":return e.stop()}}),t)}))),100)})),e.defineProperty(this,"onRemoteVideoOffLastFrame",(function(){c.canShowStaticFrameCover()&&u.setLastFrameCoverVisible(!0)})),e.defineProperty(this,"connectListener",(function(e){c.handleConnectResponse(e).catch((function(e){console.warn("[DhRealtimeHuman] handleConnectResponse failed",e)}))})),e.defineProperty(this,"createServer",(function(t){var r,o=e.objectSpread2(e.objectSpread2(e.objectSpread2({token:c.token,appKey:c.appKey,appId:c.appId},t?{sessionId:t}:{}),a(c.connectParams,i.CONNECT_MAIN_KEY)),{},{parameters:n(c.connectParams,i.CONNECT_MAIN_KEY),onConnect:c.connectListener,onDigitalHumanCallback:c.onDigitalHumanCallbackPlus});null!==(r=c.dhServer)&&void 0!==r&&r.preConnectSuccess?(c.dhServer.connectParams=o,c.dhServer&&c.dhServer.sendPreConnect(o)):c.openWsOnly?c.dhServer&&c.dhServer.sendConnect(o):c.dhServer&&c.dhServer.createSocket(o)})),e.defineProperty(this,"checkHumanInstansce",(function(){return c.dhServer?!(c.isPreOpenSession&&!c.dhServer.preConnectSuccess)||(c.onDigitalHumanCallback&&c.onDigitalHumanCallback({status:i.statusEnum.DH_LIB_ERROR,content:{type:i.errorTypeEnum.CONNECT_ERROR,msg:{code:4001,errMsg:"webSocket连接中"}}}),!1):(c.onDigitalHumanCallback&&c.onDigitalHumanCallback({status:i.statusEnum.DH_LIB_ERROR,content:{type:i.errorTypeEnum.CONNECT_ERROR,msg:{code:4002,errMsg:"请先初始化数字人实例"}}}),!1)})),e.defineProperty(this,"sendMessage",(function(e,t){return c.dhServer&&c.dhServer.sendMessage(e,t)})),e.defineProperty(this,"interrupt",e.asyncToGenerator(e.regeneratorRuntime().mark((function t(){return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){c.dhServer&&c.dhServer.sendMessage({requestId:o.v4(),action:"TEXT_RENDER",body:"<interrupt></interrupt>",clientTs:(new Date).getTime()},(function(){return e()}))})));case 1:case"end":return e.stop()}}),t)})))),e.defineProperty(this,"textRender",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg;c.checkHumanInstansce()&&c.dhServer&&c.dhServer.sendMessage({requestId:t||o.v4(),action:"TEXT_RENDER",body:r,clientTs:(new Date).getTime()},n)})),e.defineProperty(this,"textStreamRender",(function(e){var r=e.requestId,n=e.body,a=e.onCallbackMsg,i=t.parse(n).first;c.checkHumanInstansce()&&c.dhServer&&c.dhServer.sendMessage({requestId:r||o.v4(),action:"TEXT_STREAM_RENDER",body:n,clientTs:(new Date).getTime()},i?a:null)})),e.defineProperty(this,"audioRender",(function(e){var t=e.body,r=e.onCallbackMsg;c.checkHumanInstansce()&&c.dhServer&&c.dhServer.sendMessage({requestId:o.v4(),action:"AUDIO_RENDER",body:t,clientTs:(new Date).getTime()},r)})),e.defineProperty(this,"audioStreamRender",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg;c.checkHumanInstansce()&&c.dhServer&&c.dhServer.sendMessage({requestId:t||o.v4(),action:"AUDIO_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},n)})),e.defineProperty(this,"textQuery",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg;c.dhServer&&c.dhServer.sendMessage({requestId:t||o.v4(),action:"TEXT_QUERY",body:r,clientTs:(new Date).getTime()},n)})),e.defineProperty(this,"destroy",e.asyncToGenerator(e.regeneratorRuntime().mark((function t(){var r,n;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(r=c.cutoutInstance)||void 0===r||r.destroy(),c.cutoutInstance=void 0,c.canShowStaticFrameCover()?(u.playHumanVideo(!1),u.setHumanPlayerWrapperVisible(!1),u.setLastFrameCoverVisible(!0)):(u.removeHumanDom(),u.removeLastFrameCoverWrapper()),e.next=5,c.dhServer&&c.dhServer.closeSocket();case 5:c.rtcServer&&c.rtcServer.closeRtc(),null===(n=c.recordController)||void 0===n||n.destroy(),c.dhServer=null,c.rtcServer=null;case 9:case"end":return e.stop()}}),t)})))),e.defineProperty(this,"pauseHuman",(function(){return u.playHumanVideo(!1)})),e.defineProperty(this,"playHuman",(function(){return u.playHumanVideo(!0)})),e.defineProperty(this,"muteHuman",(function(){return u.muteHumanVideo(!0)})),e.defineProperty(this,"unMuteHuman",(function(){var e=u.muteHumanVideo(!1);try{return c.isHuawei?(e.pause(),e.play()):e.paused&&e.play()}catch(e){console.info(e)}}));var l=r.isPreOpenSession,d=void 0!==l&&l,m=r.isOpenWsOnly,h=void 0!==m&&m,p=r.wsUrl,f=r.renderParams,y=r.checkHeartbeatMismatch,C=r.emitRawStatusMessage,S=void 0!==C&&C,R=r.onDigitalHumanCallback;this.isPreOpenSession=d,this.openWsOnly=h,this.emitRawStatusMessage=S,this.dhServer=new s.default(p||"wss://open.xiling.baidu.com/cloud/digital-human-demonstration",{checkHeartbeatMismatch:y,emitRawStatusMessage:S}),this.onDigitalHumanCallback=function(e){e.status!==i.statusEnum.DH_LIB_FULL_STATUS?R&&R(e):(null==f?void 0:f.fullStatus)&&R&&R(e)},d||h?this.dhServer.createSocket({onDigitalHumanCallback:this.onDigitalHumanCallbackPlus},d):this.init(r)}return e.createClass(v,[{key:"canShowStaticFrameCover",value:function(){return!this.hasInitChromaEffects&&!this.hasConnectUserFigureEffects}},{key:"init",value:function(t){var n,a,o=this,s=t.wrapperId,m=t.token,h=t.appKey,p=t.appId,v=t.connectParams,f=t.renderParams,y=void 0===f?{}:f,C=t.rtcConnectParams,S=t.brtcParams,R=t.rtcServerUrl,g=t.rtcInternalIp,b=t.mergeConnectRtcExtras,I=void 0!==b&&b,k=t.emitRawStatusMessage,E=void 0!==k&&k,P=t.remoteAutoPlay,D=t.resolveMediaServerByDomain;if(this.mergeConnectRtcExtras=Boolean(I),this.emitRawStatusMessage=E,null===(n=this.dhServer)||void 0===n||n.setEmitRawStatusMessage(this.emitRawStatusMessage),this.resolveMediaServerByDomain=D,this.hasConnectUserFigureEffects=!1,this.token=m,this.appKey=h,this.appId=p,this.rtcServerUrl=R,this.rtcInternalIp=g,this.connectParams=e.objectSpread2({autoChromaKey:(null==y?void 0:y.autoChromaKey)||!1},v),!p&&!h&&!m)throw new Error("appId and appKey or token is required");var w=y.closeLog,H=y.audio3AConstraints;this.hasInitChromaEffects=!r(null==y?void 0:y.chromaEffects)||!(null==y||!y.autoChromaKey),u.removeLastFrameCoverWrapper(),u.removeHumanDom();var M=(u.createHumanDom({autoChromaKey:!!y.autoChromaKey||!r(y.chromaEffects)})||{}).playerWrapper,T=document.getElementById(s||"");T||console.error("dom with wrapperId is not find"),M&&T&&T.appendChild(M),this.canShowStaticFrameCover()&&T&&("static"===window.getComputedStyle(T).position&&(T.style.position="relative"),u.appendLastFrameCoverSibling(T)),u.appendRtcDomStyle();var _=e.objectSpread2({remotevideoviewid:s,showvideobps:!1,usingvideo:!1,usingaudio:!(null==v||!v.pullAudioFromRtc),aspublisher:!(null==v||!v.pullAudioFromRtc),autopublish:!(null==v||!v.pullAudioFromRtc),usingdatachannel:!0,autoplaymuted:!1},S);this.rtcServer=new c.default({closeLog:w,videoWrapperId:u.RTC_VIDEO_ID,rtcConfig:_,bizConfig:e.objectSpread2({autoReConnect:null===(a=null==v?void 0:v.reConnect)||void 0===a||a},void 0!==P?{remoteAutoPlay:P}:{}),rtcCallback:{onRemoteVideoComing:this.onRemoteVideoComing,onDigitalHumanCallback:this.onDigitalHumanCallback,onLocalStream:this.onLocalStream,onRemoteVideoOn:this.onRemoteVideoOn,onRemoteVideoOff:this.onRemoteVideoOffLastFrame}}),(!r(null==y?void 0:y.chromaEffects)||null!=y&&y.autoChromaKey)&&(this.cutoutInstance=new l.default({sourceId:u.RTC_VIDEO_ID,effects:null==y?void 0:y.chromaEffects})),r(C)||(this.rtcConnectParams=C,this.rtcServer.openRtc(C)),null!=v&&v.pullAudioFromRtc?this.recordController=null:this.recordController=new d.default({pickAudioMode:null==v?void 0:v.pickAudioMode,audio3AConstraints:H,asrSample:null==v?void 0:v.asrSample,onAudioData:function(e){1===o.wsReadyState&&o.sendMessage(e,null)},onError:function(e){o.onDigitalHumanCallback&&o.onDigitalHumanCallback({status:i.statusEnum.DH_LIB_ERROR,content:{type:i.errorTypeEnum.CONNECT_ERROR,msg:{code:-1,errMsg:e.message}}})}})}},{key:"handleConnectResponse",value:function(r){return(m=m||e.asyncToGenerator(e.regeneratorRuntime().mark((function r(n){var a,o,s,c,u,l,d,m,h,p,v;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.code,o=n.body,s=n.message,0===a&&this.onDigitalHumanCallback&&this.onDigitalHumanCallback({status:i.statusEnum.DH_LIB_WS_SUCCESS,content:n}),this.emitRawStatusMessage&&this.onDigitalHumanCallback&&this.onDigitalHumanCallback({status:i.statusEnum.DH_LIB_MESSAGE,content:n}),0!==a){e.next=18;break}if(c=t.parse(o),!this.mergeConnectRtcExtras||!this.rtcServer){e.next=14;break}return e.prev=6,e.next=9,this.mergeConnectRtcExtrasFromBody(c);case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(6),console.warn("[DhRealtimeHuman] mergeConnectRtcExtrasFromBody failed",e.t0);case 14:u=c.rtcServerUrl,l=c.appId,d=c.clientToken,m=c.roomName,h=c.clientId,p=c.feedId,v=c.chargeId,l&&m&&(this.rtcConnectParams={server:this.rtcServerUrl||u,appId:l,token:d,roomName:m,userId:h,feedId:p,chargeId:v},this.rtcServer&&this.rtcServer.openRtc(this.rtcConnectParams)),e.next=19;break;case 18:this.onDigitalHumanCallback&&this.onDigitalHumanCallback({status:i.statusEnum.DH_LIB_ERROR,content:{type:i.errorTypeEnum.CONNECT_ERROR,msg:{code:a,errMsg:s}}});case 19:case"end":return e.stop()}}),r,this,[[6,11]])})))).apply(this,arguments)}},{key:"mergeConnectRtcExtrasFromBody",value:function(r){return(h=h||e.asyncToGenerator(e.regeneratorRuntime().mark((function r(n){var a,o,i,s,c,u,l;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.rtcServer){e.next=2;break}return e.abrupt("return");case 2:if(a=n.userFigure,o=void 0===a?"":a,i=n.rtcExternalInfo,s=(void 0===i?{}:i).udpDomain||"",c={},this.rtcInternalIp&&(c.mediaserverip=this.rtcInternalIp),!o){e.next=19;break}if(!(u=t.parse(o)).effects){e.next=17;break}return e.prev=9,e.next=12,this.applyConnectChroma(u.effects);case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(9),console.warn("[DhRealtimeHuman] applyConnectChroma failed",e.t0);case 17:e.next=36;break;case 19:if(!s){e.next=36;break}if(l=this.resolveMediaServerByDomain){e.next=26;break}console.warn("[DhRealtimeHuman] udpDomain 解析需传入 resolveMediaServerByDomain"),c.mediaserverip="",e.next=36;break;case 26:return e.prev=26,e.next=29,l(s);case 29:c.mediaserverip=e.sent,e.next=36;break;case 32:e.prev=32,e.t1=e.catch(26),c.mediaserverip="",console.error("resolveMediaServerByDomain failed",e.t1);case 36:this.rtcServer.mergeRtcConfig(c);case 37:case"end":return e.stop()}}),r,this,[[9,14],[26,32]])})))).apply(this,arguments)}},{key:"applyConnectChroma",value:function(t){return(p=p||e.asyncToGenerator(e.regeneratorRuntime().mark((function t(r){var n,a,o,i;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasInitChromaEffects){e.next=2;break}return e.abrupt("return");case 2:if(a=r.chromaKey,o=r.version,null!=a){e.next=5;break}return e.abrupt("return");case 5:if(u.ensureCutoutDomMounted()){e.next=7;break}return e.abrupt("return");case 7:if(this.hasConnectUserFigureEffects=!0,u.removeLastFrameCoverWrapper(),u.setLastFrameCoverVisible(!1),u.setHumanPlayerWrapperVisible(!0),null===(n=this.cutoutInstance)||void 0===n||n.destroy(),this.cutoutInstance=new l.default({sourceId:u.RTC_VIDEO_ID,effects:{version:o,chromaKey:a}}),!(i=document.getElementById(u.RTC_VIDEO_ID))){e.next=17;break}return e.next=17,this.cutoutInstance.updateSource(i);case 17:case"end":return e.stop()}}),t,this)})))).apply(this,arguments)}},{key:"startRecord",value:function(){var e;null!==(e=this.connectParams)&&void 0!==e&&e.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!1):this.recordController&&this.recordController.start()}},{key:"stopRecord",value:function(){var e;if(null!==(e=this.connectParams)&&void 0!==e&&e.pullAudioFromRtc)return this.rtcServer&&this.rtcServer.muteMicphone(!0),void this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:o.v4(),clientTs:Date.now(),body:""},null);this.recordController&&this.recordController.stop(),this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:o.v4(),clientTs:Date.now(),body:""},null)}},{key:"muteMicrophone",value:function(e){var t,r;null!==(t=this.connectParams)&&void 0!==t&&t.pullAudioFromRtc&&(this._isMicMuted=e,null===(r=this.rtcServer)||void 0===r||r.muteMicphone(e))}}]),v}();exports.default=m;
|
package/cjs/Cutout.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ import { ChromaEffectOptions } from '@bddh/starling-cutout/es/interface';
|
|
|
7
7
|
import Seriously from '@bddh/starling-cutout/es/Seriously';
|
|
8
8
|
interface CutoutType {
|
|
9
9
|
effects?: {
|
|
10
|
-
version
|
|
11
|
-
chromaKey
|
|
10
|
+
version?: number;
|
|
11
|
+
chromaKey?: Partial<ChromaEffectOptions>;
|
|
12
12
|
};
|
|
13
13
|
sourceId: string;
|
|
14
14
|
}
|
package/cjs/Cutout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("./_virtual/_rollupPluginBabelHelpers.js"),e=require("@bddh/starling-cutout/es/Seriously"),s={version:2,chromaKey:{screen:[53,186,123],similarity:90,edgeShrink:3,smoothness:80,spill:100,opacity:1,contrast:0,brightness:0,gamma:0}},r=function(){function r(u){t.classCallCheck(this,r),t.defineProperty(this,"cutoutInstance",void 0);var n=u.effects,o=u.sourceId;this.cutoutInstance=new e("starling-cutout-canvas",o||"starling-cutout-video",n&&n.chromaKey||s.chromaKey,n&&n.version||s.version)}return t.createClass(r,[{key:"setOptions",value:function(t){t&&this.cutoutInstance&&this.cutoutInstance.setOptions(t)}},{key:"destroy",value:function(){return this.cutoutInstance.destroy()}},{key:"updateSource",value:function(t){return this.cutoutInstance.updateSource(t)}}]),r}();exports.DEFAULT_EFFECTS=s,exports.default=r;
|
package/cjs/DomControl.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const RTC_VIDEO_ID = "remotevideo500";
|
|
|
17
17
|
export declare const LAST_FRAME_COVER_CANVAS_CLASS = "canvas-item";
|
|
18
18
|
export declare const LAST_FRAME_COVER_INNER_CANVAS_ID = "starling-last-frame-cover-canvas";
|
|
19
19
|
export declare function createHumanDom(options: CreateVideoDomOptions): CreateVideoDomResult | null;
|
|
20
|
+
export declare function ensureCutoutDomMounted(): boolean;
|
|
20
21
|
export declare function appendLastFrameCoverSibling(mountEl: HTMLElement | null): void;
|
|
21
22
|
export declare function captureLastFrameToCover(): boolean;
|
|
22
23
|
export declare function setHumanPlayerWrapperVisible(visible: boolean): void;
|
package/cjs/DomControl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var e="starling-cutout-canvas",t="cloud-brtc-player-wrapper",n="remotevideo500",i="canvas-item",o="starling-last-frame-cover-canvas",r="data-dh-last-frame-cover";exports.DEFAULT_CANVAS_ID=e,exports.HUMAN_WRAPPER_ID=t,exports.LAST_FRAME_COVER_CANVAS_CLASS=i,exports.LAST_FRAME_COVER_INNER_CANVAS_ID=o,exports.RTC_VIDEO_ID=n,exports.appendLastFrameCoverSibling=function(e){if(e&&!e.querySelector("[".concat(r,'="1"]'))){var t=document.createElement("div");t.className="".concat(i," "),t.setAttribute(r,"1");var n=document.createElement("canvas");n.id=o,Object.assign(n.style,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",objectFit:"cover",display:"block",zIndex:"0"}),t.appendChild(n),e.appendChild(t)}},exports.appendRtcDomStyle=function(){var e=document.createElement("style");e.appendChild(document.createTextNode('\n [id^="videoremote1-"] {\n display: none !important;\n }\n \n video#remotevideo500 {\n width: auto !important;\n height: auto !important;\n max-width: 100% !important;\n max-height: 100% !important;\n width: 100% !important;\n height: 100% !important;\n object-fit: cover;\n }\n\n .cloud-brtc-player-wrapper {\n width: inherit !important;\n background-size: cover;\n height: inherit;\n display: flex;\n justify-content: center;\n }\n\n #starling-cutout-canvas {\n object-fit: cover;\n }\n\n [data-dh-last-frame-cover="1"] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 1;\n visibility: hidden;\n }\n\n [data-dh-last-frame-cover="1"] canvas {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n ')),document.head.appendChild(e)},exports.captureLastFrameToCover=function(){var t=document.getElementById(o);if(!t)return!1;var i=t.getContext("2d");if(!i)return!1;var r=document.getElementById(e),a=document.getElementById(n);return r&&r.width>0&&r.height>0?(t.width=r.width,t.height=r.height,i.drawImage(r,0,0),!0):!!(a&&a.videoWidth>0&&a.videoHeight>0)&&(t.width=a.videoWidth,t.height=a.videoHeight,i.drawImage(a,0,0,a.videoWidth,a.videoHeight),!0)},exports.checkIsHuawei=function(){var e=navigator.userAgent||navigator.vendor;return/huawei/i.test(e)||/honor/i.test(e)},exports.createHumanDom=function(i){var o=i.autoChromaKey,r=void 0!==o&&o,a=i.autoplay,d=void 0===a||a;if(document.getElementById(n))return console.error('DOM with id "'.concat(n,'" already exists.')),null;var s=document.createElement("div");s.className=t,s.id=t,s.style.position="relative";var l=document.createElement("video");if(l.id=n,l.width=0,l.height=0,l.setAttribute("width","100%"),l.setAttribute("height","100%"),l.setAttribute("data-playing","true"),l.setAttribute("playsinline",""),d&&l.setAttribute("autoplay",""),s.appendChild(l),r){var c=document.createElement("canvas");c.id=e,Object.assign(c.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",zIndex:"1",display:r?"block":"none"}),l.style.visibility="hidden",s.appendChild(c)}return{playerWrapper:s,video:l}},exports.ensureCutoutDomMounted=function(){if(document.getElementById(e))return!0;var i=document.getElementById(t),o=document.getElementById(n);if(!i||!o)return!1;var r=document.createElement("canvas");return r.id=e,Object.assign(r.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",zIndex:"1",display:"block"}),o.style.visibility="hidden",i.appendChild(r),!0},exports.muteHumanVideo=function(e){var t=document.getElementById(n);return t&&(t.muted=e),t},exports.playHumanVideo=function(e){var t=document.getElementById(n);try{if(t)return e?t.play():t.pause()}catch(e){console.info(e)}},exports.removeHumanDom=function(){var e=document.getElementById(t);e&&e.parentNode&&e.parentNode.removeChild(e)},exports.removeLastFrameCoverWrapper=function(){var e=document.querySelector("[".concat(r,'="1"]'));null!=e&&e.parentNode&&e.parentNode.removeChild(e)},exports.setHumanPlayerWrapperVisible=function(e){var n=document.getElementById(t);n&&(n.style.visibility=e?"visible":"hidden",n.style.pointerEvents=e?"":"none")},exports.setLastFrameCoverVisible=function(e){var t=document.getElementById(o),n=null==t?void 0:t.parentNode;n&&(n.style.visibility=e?"visible":"hidden")};
|
package/cjs/RecordController.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./_virtual/_rollupPluginBabelHelpers.js");function t(e,t,r,o){try{for(var a=(o=o||{})&&"number"==typeof o.index?o.index:0,n=o&&"number"==typeof o.offset?o.offset:0,i=0,s=a;s<e.length;s++)i+=e[s].length;i=Math.max(0,i-Math.floor(n));var u=t/r;u>1?i=Math.floor(i/u):(u=1,r=t);for(var c=new Int16Array(i),d=0,h=e.length;a<h;a++){for(var p=e[a],l=n,f=p.length;l<f;){var m=Math.floor(l),v=Math.ceil(l),x=l-m;c[d]=p[m]+(p[v]-p[m])*x,d++,l+=u}n=l-f}return{index:a,offset:n,sampleRate:r,data:c}}catch(e){console.log("转音错误了",e)}}function r(e){for(var t=e,r=new Int16Array(e.length),o=0;o<t.length;o++){var a=Math.max(-1,Math.min(1,t[o]));r[o]=a<0?32768*a:32767*a}return r}var o=function(o,a){function n(t){e.classCallCheck(this,n),e.defineProperty(this,"onAudioData",void 0),e.defineProperty(this,"onError",void 0),e.defineProperty(this,"audioContext",null),e.defineProperty(this,"processor",null),e.defineProperty(this,"mediaStream",null),e.defineProperty(this,"recording",!1),e.defineProperty(this,"audio3AConstraints",void 0),e.defineProperty(this,"asrSample",void 0),this.onAudioData=t.onAudioData,this.onError=t.onError,this.audio3AConstraints=t.audio3AConstraints,this.asrSample=t.asrSample,this.preWarmStream()}return e.createClass(n,[{key:"preWarmStream",value:function(){return(o=o||e.asyncToGenerator(e.regeneratorRuntime().mark((function t(){var r,o,a;return e.regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,o=window.AudioContext||window.webkitAudioContext){t.next=4;break}throw new Error("当前环境不支持web api: AudioContext");case 4:if(null!==(r=navigator.mediaDevices)&&void 0!==r&&r.getUserMedia){t.next=6;break}throw new Error("当前环境不支持web api: getUserMedia");case 6:return this.audioContext=new o({sampleRate:this.asrSample||16e3}),t.next=9,navigator.mediaDevices.getUserMedia({audio:e.objectSpread2({echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0},this.audio3AConstraints),video:!1});case 9:this.mediaStream=t.sent,a=this.audioContext.createMediaStreamSource(this.mediaStream),this.processor=this.audioContext.createScriptProcessor(1024,1,1),a.connect(this.processor),this.processor.connect(this.audioContext.destination),this.processor.onaudioprocess=function(){},t.next=20;break;case 17:t.prev=17,t.t0=t.catch(0),console.error("preWarmStream error",t.t0);case 20:case"end":return t.stop()}}),t,this,[[0,17]])})))).apply(this,arguments)}},{key:"start",value:function(){return(a=a||e.asyncToGenerator(e.regeneratorRuntime().mark((function o(){var a=this;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.recording){e.next=2;break}return e.abrupt("return");case 2:if(this.audioContext&&this.processor){e.next=4;break}return e.abrupt("return");case 4:try{this.processor.onaudioprocess=function(e){if(a.recording){var o=t([r(e.inputBuffer.getChannelData(0))],a.audioContext.sampleRate,a.asrSample||16e3,null);o&&o.data&&a.onAudioData(o.data.buffer)}},this.recording=!0}catch(e){this.onError&&this.onError(e)}case 5:case"end":return e.stop()}}),o,this)})))).apply(this,arguments)}},{key:"stop",value:function(){this.recording=!1,this.processor.onaudioprocess=function(){}}},{key:"destroy",value:function(){this.recording=!1,this.processor&&(this.processor.disconnect(),this.processor.onaudioprocess=null),this.audioContext&&this.audioContext.close(),this.mediaStream&&this.mediaStream.getTracks().forEach((function(e){e.stop()}))}}]),n}();exports.default=o;
|
package/cjs/Server.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export interface RenderCallbackRes {
|
|
|
44
44
|
}
|
|
45
45
|
interface ServerOptions {
|
|
46
46
|
checkHeartbeatMismatch?: boolean;
|
|
47
|
+
emitRawStatusMessage?: boolean;
|
|
47
48
|
}
|
|
48
49
|
export type RenderCallback = (res: RenderCallbackRes) => void;
|
|
49
50
|
export declare const CONNECTING_STUCK_MS_DEFAULT: number;
|
|
@@ -61,7 +62,9 @@ declare class Server {
|
|
|
61
62
|
private lastReportedReadyState;
|
|
62
63
|
private lastHbAckTs;
|
|
63
64
|
private readonly checkHeartbeatMismatch;
|
|
65
|
+
private emitRawStatusMessage;
|
|
64
66
|
constructor(url: string, options?: ServerOptions);
|
|
67
|
+
setEmitRawStatusMessage(value: boolean): void;
|
|
65
68
|
sendPreConnect: (props: createSocketParamsType, resolve?: ((value: any) => void) | undefined) => void;
|
|
66
69
|
createSocket: (props: createSocketParamsType, isPreOpenSession?: boolean) => Promise<WebSocketClient | null>;
|
|
67
70
|
sendConnect: (props: createSocketParamsType) => void;
|
package/cjs/Server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./_virtual/_rollupPluginBabelHelpers.js"),t=require("uuid"),n=require("@bddh/starling-web-socket/es/create-web-socket"),r=require("lodash/pick"),o=require("lodash/omit"),s=require("lodash/get"),c=require("./interface.js"),a=function(a){function i(a,u){var d,l=this;e.classCallCheck(this,i),e.defineProperty(this,"dhServerSocket",null),e.defineProperty(this,"preConnectSuccess",!1),e.defineProperty(this,"connectParams",null),e.defineProperty(this,"socketClosingPromise",null),e.defineProperty(this,"url",void 0),e.defineProperty(this,"firstConnect",!0),e.defineProperty(this,"connectingTimer",null),e.defineProperty(this,"connectingMs",3e4),e.defineProperty(this,"lastPreOpen",!1),e.defineProperty(this,"reconnectingTimeout",!1),e.defineProperty(this,"lastReportedReadyState",-1),e.defineProperty(this,"lastHbAckTs",0),e.defineProperty(this,"checkHeartbeatMismatch",void 0),e.defineProperty(this,"emitRawStatusMessage",void 0),e.defineProperty(this,"sendPreConnect",(function(e,n){var r,o=e.token,s=e.sessionId,c=e.onConnect;null===(r=l.dhServerSocket)||void 0===r||r.request({action:"RE_CONNECT",requestId:t.v4(),body:JSON.stringify({token:o,sessionId:s})}).on((function(e,t){null==c||c(e),0!==e.code&&(t(),l.handleConnect()),null==n||n(l.dhServerSocket)})),l.firstConnect=!1})),e.defineProperty(this,"createSocket",(function(t,r){return(d=d||e.asyncToGenerator(e.regeneratorRuntime().mark((function t(r,o){var a,i;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l.connectParams=r,l.lastPreOpen=!!o,a=r.sessionId,i=r.onDigitalHumanCallback,!l.socketClosingPromise){e.next=6;break}return e.next=6,l.socketClosingPromise;case 6:if(!l.dhServerSocket){e.next=9;break}return e.next=9,l.closeSocket();case 9:return e.abrupt("return",new Promise((function(e,t){var u=!1,d=function(t){u||(u=!0,e(t))},h={keepAlive:"heartbeat",checkHeartbeatMismatch:l.checkHeartbeatMismatch,reopen:s(l.connectParams,"reConnect",!0),getKeepAliveMessage:function(e){return{requestId:e,action:"HEART_BEAT",body:"".concat(l.lastHbAckTs),clientTs:Date.now()}},combine:function(e,t){return e&&t&&e.requestId===t.requestId},onOpen:function(){l.dhServerSocket=p,d(l.dhServerSocket),a&&l.firstConnect?l.sendPreConnect(r,d):o&&l.firstConnect||l.handleConnect()},onClose:function(){l.dhServerSocket=null,l.socketClosingPromise=null,d(null)},onError:function(e){t(e)}},p=n.createWebSocket(l.url,h);p.onReadyStateChange((function(e){l.lastReportedReadyState=e,0===e?(l.startConnectingWatch(),i&&i({status:c.statusEnum.DH_LIB_INIT})):(l.clearConnectingWatch(),l.reconnectingTimeout=!1),1===e&&o&&(l.preConnectSuccess=!0),3===e&&(l.preConnectSuccess=!1),i&&i({status:c.statusEnum.DH_LIB_FULL_STATUS,content:{type:"wsState",readyState:e,body:c.WS_STATUS_MAP[e]}})})),p.onMessage((function(e){var t=e.action;"HEART_BEAT"===t&&(l.lastHbAckTs=Date.now()),[c.errorTypeEnum.TIMEOUT_EXIT,c.errorTypeEnum.DISCONNECT_ALERT].includes(t)&&(i&&i({status:c.statusEnum.DH_LIB_STATUS,content:{type:t}}),l.emitRawStatusMessage&&i&&i({status:c.statusEnum.DH_LIB_MESSAGE,content:e})),[c.errorTypeEnum.TIMEOUT_EXIT,c.errorTypeEnum.DISCONNECT_ALERT,"HEART_BEAT","CONNECT"].includes(t)||i&&i({status:c.statusEnum.DH_LIB_MESSAGE,content:e})})),l.dhServerSocket=p,p.open()})));case 10:case"end":return e.stop()}}),t)})))).apply(this,arguments)})),e.defineProperty(this,"sendConnect",(function(e){l.connectParams=e,l.dhServerSocket&&l.handleConnect()})),e.defineProperty(this,"closeSocket",e.asyncToGenerator(e.regeneratorRuntime().mark((function t(){return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l.resetState(),l.dhServerSocket){e.next=3;break}return e.abrupt("return");case 3:return l.socketClosingPromise=l.dhServerSocket.close(),e.next=6,l.socketClosingPromise;case 6:l.dhServerSocket=null;case 7:case"end":return e.stop()}}),t)})))),e.defineProperty(this,"handleConnect",e.asyncToGenerator(e.regeneratorRuntime().mark((function n(){var s,a,i,u,d,h;return e.regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(l.connectParams){n.next=2;break}return n.abrupt("return");case 2:if(s=l.connectParams,a=s.appId,i=s.appKey,u=s.token,d=s.parameters,h=s.onConnect,a||i||u){n.next=5;break}return n.abrupt("return");case 5:l.dhServerSocket&&l.dhServerSocket.request({action:"CONNECT",clientTs:(new Date).getTime(),requestId:t.v4(),body:JSON.stringify(e.objectSpread2(e.objectSpread2({token:u,appId:a,appKey:i},r(l.connectParams,c.CONNECT_MAIN_KEY)),{},{parameters:e.objectSpread2(e.objectSpread2({},o(d,["parameters"])),d&&d.parameters?d.parameters:{})}))}).on((function(e,t){null==h||h(e),0!==e.code&&t()}));case 6:case"end":return n.stop()}}),n)}))));var h=u||{},p=h.checkHeartbeatMismatch,S=h.emitRawStatusMessage,m=void 0!==S&&S;this.url=a,this.checkHeartbeatMismatch=null!=p&&p,this.emitRawStatusMessage=m}return e.createClass(i,[{key:"setEmitRawStatusMessage",value:function(e){this.emitRawStatusMessage=e}},{key:"sendMessage",value:function(n,r){return(a=a||e.asyncToGenerator(e.regeneratorRuntime().mark((function n(r,o){var s;return e.regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:try{this.dhServerSocket&&this.dhServerSocket&&this.dhServerSocket.request(r).on((function(e){o&&o(e)}))}catch(n){s="object"===e.typeof(r)&&"requestId"in r?r.requestId:t.v4(),o&&o({code:-11,body:null,action:"RENDER_ERROR",requestId:s,message:JSON.stringify(n)})}case 1:case"end":return n.stop()}}),n,this)})))).apply(this,arguments)}},{key:"startConnectingWatch",value:function(){var t=this;this.connectingTimer||this.reconnectingTimeout||(this.connectingTimer=setTimeout(e.asyncToGenerator(e.regeneratorRuntime().mark((function n(){return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.connectingTimer=null,t.dhServerSocket&&0===t.lastReportedReadyState){e.next=3;break}return e.abrupt("return");case 3:if(console.warn("reconnect from CONNECTING timeout"),t.reconnectingTimeout=!0,e.prev=5,!t.connectParams){e.next=9;break}return e.next=9,t.createSocket(t.connectParams,t.lastPreOpen);case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),console.error("reconnect from CONNECTING timeout failed",e.t0);case 14:return e.prev=14,t.reconnectingTimeout=!1,e.finish(14);case 17:case"end":return e.stop()}}),n,null,[[5,11,14,17]])}))),this.connectingMs))}},{key:"clearConnectingWatch",value:function(){this.connectingTimer&&(clearTimeout(this.connectingTimer),this.connectingTimer=null)}},{key:"resetState",value:function(){this.clearConnectingWatch(),this.reconnectingTimeout=!1,this.lastReportedReadyState=-1,this.lastHbAckTs=0}}]),i}();exports.CONNECTING_STUCK_MS_DEFAULT=3e4,exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}catch(t){define=function(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,(function(){return this}));var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach((function(e){define(t,e,(function(t){return this._invoke(e,t)}))}))}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){invoke("next",t,i,a)}),(function(t){invoke("throw",t,i,a)})):e.resolve(h).then((function(t){u.value=t,i(u)}),(function(t){return invoke("throw",t,i,a)}))}a(c.arg)}var r;o(this,"_invoke",{value:function(t,n){function callInvokeWithMethodAndArg(){return new e((function(e,r){invoke(t,n,e,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,(function(){return this})),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,(function(){return this})),define(g,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor)}}function _defineProperty(obj,key,value){return(key=_toPropertyKey(key))in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _toPrimitive(input,hint){if("object"!=typeof input||null===input)return input;var prim=input[Symbol.toPrimitive];if(void 0!==prim){var res=prim.call(input,hint||"default");if("object"!=typeof res)return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===hint?String:Number)(input)}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return"symbol"==typeof key?key:String(key)}exports.asyncToGenerator=function(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}},exports.classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")},exports.createClass=function(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),Constructor},exports.defineProperty=_defineProperty,exports.objectSpread2=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e},exports.regeneratorRuntime=_regeneratorRuntime,exports.toPrimitive=_toPrimitive,exports.toPropertyKey=_toPropertyKey,exports.typeof=_typeof;
|
|
1
|
+
"use strict";function t(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function r(){r=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(t,r,e){t[r]=e.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",f=a.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function s(t,r,e,n){var o=r&&r.prototype instanceof m?r:m,a=Object.create(o.prototype),c=new N(n||[]);return i(a,"_invoke",{value:S(t,e,c)}),a}function h(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var p="suspendedStart",y="suspendedYield",v="executing",g="completed",d={};function m(){}function b(){}function w(){}var x={};l(x,c,(function(){return this}));var O=Object.getPrototypeOf,j=O&&O(O(T([])));j&&j!==n&&o.call(j,c)&&(x=j);var L=w.prototype=m.prototype=Object.create(x);function E(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function P(t,r){function e(n,i,a,c){var u=h(t[n],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return e("throw",t,a,c)}))}c(u.arg)}var n;i(this,"_invoke",{value:function(t,o){function i(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(i,i):i()}})}function S(r,e,n){var o=p;return function(i,a){if(o===v)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=_(c,n);if(u){if(u===d)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var f=h(r,e,n);if("normal"===f.type){if(o=n.done?g:y,f.arg===d)continue;return{value:f.arg,done:n.done}}"throw"===f.type&&(o=g,n.method="throw",n.arg=f.arg)}}}function _(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,_(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=h(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var a=i.arg;return a?a.done?(e[r.resultName]=a.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,d):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function k(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function G(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function T(r){if(r||""===r){var e=r[c];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,i=function e(){for(;++n<r.length;)if(o.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=t,e.done=!0,e};return i.next=i}}throw new TypeError(typeof r+" is not iterable")}return b.prototype=w,i(L,"constructor",{value:w,configurable:!0}),i(w,"constructor",{value:b,configurable:!0}),b.displayName=l(w,f,"GeneratorFunction"),e.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===b||"GeneratorFunction"===(r.displayName||r.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,f,"GeneratorFunction")),t.prototype=Object.create(L),t},e.awrap=function(t){return{__await:t}},E(P.prototype),l(P.prototype,u,(function(){return this})),e.AsyncIterator=P,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new P(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(L),l(L,f,"Generator"),l(L,c,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=T,N.prototype={constructor:N,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(G),!r)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(n,o){return c.type="throw",c.arg=r,e.next=n,o&&(e.method="next",e.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=o.call(a,"catchLoc"),f=o.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),d},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),G(e),d}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;G(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:T(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),d}},e}function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t,r,e,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void e(t)}c.done?r(u):Promise.resolve(u).then(n,o)}function o(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,c(n.key),n)}}function i(t,r,e){return(r=c(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function a(t,r){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function c(t){var r=a(t,"string");return"symbol"==typeof r?r:String(r)}exports.asyncToGenerator=function(t){return function(){var r=this,e=arguments;return new Promise((function(o,i){var a=t.apply(r,e);function c(t){n(a,o,i,c,u,"next",t)}function u(t){n(a,o,i,c,u,"throw",t)}c(void 0)}))}},exports.classCallCheck=function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")},exports.createClass=function(t,r,e){return r&&o(t.prototype,r),e&&o(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t},exports.defineProperty=i,exports.objectSpread2=function(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){i(r,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(n,t))}))}return r},exports.regeneratorRuntime=r,exports.toPrimitive=a,exports.toPropertyKey=c,exports.typeof=e;
|
package/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Client.js"),r=require("./interface.js");exports.default=e.default,exports.CONNECT_MAIN_KEY=r.CONNECT_MAIN_KEY,exports.WS_STATUS_MAP=r.WS_STATUS_MAP,Object.defineProperty(exports,"errorTypeEnum",{enumerable:!0,get:function(){return r.errorTypeEnum}}),Object.defineProperty(exports,"statusEnum",{enumerable:!0,get:function(){return r.statusEnum}});
|
package/cjs/interface.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChromaEffectOptions } from '@bddh/starling-cutout/es/interface';
|
|
1
2
|
import { RtcConnectionType } from './BrtcClient';
|
|
2
3
|
export interface ConnectDataType {
|
|
3
4
|
action: string;
|
|
@@ -68,7 +69,6 @@ export interface RenderParamsType {
|
|
|
68
69
|
closeLog?: boolean;
|
|
69
70
|
fullStatus?: boolean;
|
|
70
71
|
audio3AConstraints?: Mic3AType;
|
|
71
|
-
enableLastFrameCover?: boolean;
|
|
72
72
|
}
|
|
73
73
|
export declare enum statusEnum {
|
|
74
74
|
DH_LIB_INIT = "DH_LIB_INIT",
|
|
@@ -122,6 +122,7 @@ export interface DhRealtimeHumanType {
|
|
|
122
122
|
wsUrl?: string;
|
|
123
123
|
checkHeartbeatMismatch?: boolean;
|
|
124
124
|
rtcServerUrl?: string;
|
|
125
|
+
rtcInternalIp?: string;
|
|
125
126
|
appKey?: string;
|
|
126
127
|
appId?: string;
|
|
127
128
|
wrapperId?: string;
|
|
@@ -129,8 +130,16 @@ export interface DhRealtimeHumanType {
|
|
|
129
130
|
renderParams?: RenderParamsType;
|
|
130
131
|
rtcConnectParams?: RtcConnectionType;
|
|
131
132
|
brtcParams?: any;
|
|
133
|
+
remoteAutoPlay?: boolean;
|
|
134
|
+
mergeConnectRtcExtras?: boolean;
|
|
135
|
+
emitRawStatusMessage?: boolean;
|
|
136
|
+
resolveMediaServerByDomain?: (domain: string) => Promise<string>;
|
|
132
137
|
isPreOpenSession?: boolean;
|
|
133
138
|
isOpenWsOnly?: boolean;
|
|
134
139
|
onDigitalHumanCallback: (data: CallbackMsgType) => void;
|
|
135
140
|
}
|
|
141
|
+
export interface EffectsType {
|
|
142
|
+
chromaKey?: Partial<ChromaEffectOptions>;
|
|
143
|
+
version?: number;
|
|
144
|
+
}
|
|
136
145
|
export {};
|
package/cjs/interface.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var _,E;exports.statusEnum=void 0,(_=exports.statusEnum||(exports.statusEnum={})).DH_LIB_INIT="DH_LIB_INIT",_.DH_LIB_WS_SUCCESS="DH_LIB_WS_SUCCESS",_.DH_LIB_OPEN="DH_LIB_OPEN",_.DH_LIB_STATUS="DH_LIB_STATUS",_.DH_LIB_CLOSE="DH_LIB_CLOSE",_.DH_LIB_ERROR="DH_LIB_ERROR",_.DH_LIB_WARNING="DH_LIB_WARNING",_.DH_LIB_FULL_STATUS="DH_LIB_FULL_STATUS",_.DH_LIB_MESSAGE="DH_LIB_MESSAGE",exports.errorTypeEnum=void 0,(E=exports.errorTypeEnum||(exports.errorTypeEnum={})).CONNECT_ERROR="CONNECT_ERROR",E.DISCONNECT_ALERT="DISCONNECT_ALERT",E.TIMEOUT_EXIT="TIMEOUT_EXIT",E.LOCAL_VIDEO_MUTED="LOCAL_VIDEO_MUTED",E.LOCAL_VIDEO_ERROR="LOCAL_VIDEO_ERROR",E.RTC_ERROR="RTC_ERROR";exports.CONNECT_MAIN_KEY=["projectId","characterConfigId","configVersion","selectors","figureName","reConnect"],exports.WS_STATUS_MAP={"-1":"UNINSTANTIATED",0:"CONNECTING",1:"OPEN",2:"CLOSING",3:"CLOSED"};
|
package/es/BrtcClient.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ export interface BizConfig {
|
|
|
46
46
|
welcomeContent?: string;
|
|
47
47
|
autoChromaKey?: boolean;
|
|
48
48
|
chromaEffects?: ChromaEffectOptions;
|
|
49
|
+
remoteAutoPlay?: boolean;
|
|
49
50
|
}
|
|
50
51
|
export interface RtcCallback {
|
|
51
52
|
[x: string]: any;
|
|
@@ -83,12 +84,17 @@ declare class BrtcClient {
|
|
|
83
84
|
private readonly rtcCallback?;
|
|
84
85
|
private restarting;
|
|
85
86
|
private readonly timeoutEvent;
|
|
87
|
+
private timeoutStarted;
|
|
86
88
|
private reopenTimer;
|
|
87
89
|
private restartCount;
|
|
88
90
|
private readonly closeLog;
|
|
91
|
+
private stopped;
|
|
89
92
|
private haveVideoOn;
|
|
90
93
|
private rtcStateCallback;
|
|
91
94
|
constructor(props: BrtcClientType);
|
|
95
|
+
private startRtcTimeout;
|
|
96
|
+
private clearRtcTimeout;
|
|
97
|
+
mergeRtcConfig: (partial: Record<string, unknown>) => void;
|
|
92
98
|
openRtc: (rtcConnection: RtcConnectionType) => void;
|
|
93
99
|
closeRtc: () => void;
|
|
94
100
|
restartRtc: (rtcConnection: RtcConnectionType) => void;
|
package/es/BrtcClient.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as
|
|
1
|
+
import{createClass as t,classCallCheck as o,defineProperty as e}from"./_virtual/_rollupPluginBabelHelpers.js";import n from"@bddh/starling-brtc";import{TimeoutController as c}from"@bddh/starling-timeout-controller";import i from"@bddh/starling-json";import a from"lodash/isEmpty";import r from"lodash/isFunction";import{statusEnum as l,errorTypeEnum as s}from"./interface.js";var d=function(){function d(t){var u=this;o(this,d),e(this,"client",void 0),e(this,"isRtcVideoOn",!1),e(this,"rtcConnection",void 0),e(this,"rtcConfig",void 0),e(this,"bizConfig",void 0),e(this,"rtcCallback",void 0),e(this,"restarting",!1),e(this,"timeoutEvent",void 0),e(this,"timeoutStarted",!1),e(this,"reopenTimer",void 0),e(this,"restartCount",0),e(this,"closeLog",!0),e(this,"stopped",!1),e(this,"haveVideoOn",!1),e(this,"rtcStateCallback",null),e(this,"startRtcTimeout",(function(){u.timeoutStarted||(u.timeoutEvent.start(),u.timeoutStarted=!0)})),e(this,"clearRtcTimeout",(function(){u.timeoutStarted&&(u.timeoutEvent.clear(),u.timeoutStarted=!1)})),e(this,"mergeRtcConfig",(function(t){u.rtcConfig&&t&&Object.keys(t).length&&Object.assign(u.rtcConfig,t)})),e(this,"openRtc",(function(t){if(u.stopped=!1,u.restarting)!u.closeLog&&console.warn("rtc restarting");else if(t&&(u.rtcConnection=t),u.rtcConnection&&!a(u.rtcConnection)){var o,e=u.rtcConnection,c=e.server,d=e.appId,m=e.token,C=e.roomName,f=e.userId,b=u.rtcCallback||{},g=b.onRemotedata,h=b.onLocalStream,v=b.onRemoteVideoComing,R=b.onLocalVideoPublished,p=b.onLocalVideoPublishing,S=b.onRemoteVideoOn,L=b.onRemoteVideoOff,k=b.onRemoteVideoLoading,y=b.onSuccess,V=b.onError,O=b.onLocalVideoConnected,E=b.onRemoteVideoConnected,_=b.onRemoteMediaState,T=b.onPlayingError,I=b.onDigitalHumanCallback;null===(o=u.client)||void 0===o||o.destroy(),u.client=void 0,u.startRtcTimeout(),u.rtcStateCallback=function(t){var o=t.body,e=t.action;I&&I({status:l.DH_LIB_FULL_STATUS,content:{type:"rtcState",action:e,body:o}})},u.client=new n({roomName:C,token:m,userId:f,appId:d,server:c,rtcConfig:u.rtcConfig,callback:{onRemoteVideoConnected:function(o,e){var n;if(!e&&!u.haveVideoOn)var c=setTimeout((function(){u.restartCount<3?(u.restartCount=++u.restartCount,u.restartRtc&&u.restartRtc(t)):(u.restartCount=0,u.closeRtc()),clearTimeout(c)}),500);if(e&&!1!==(null===(n=u.bizConfig)||void 0===n?void 0:n.remoteAutoPlay)){var i=document.getElementById("remotevideo500");if(i){i.muted=!1;var a=i.play();void 0!==a&&a.catch((function(){i.muted=!0,i.play().catch((function(t){!u.closeLog&&console.info("videoElement play error",t),T&&T(i),I&&I({status:l.DH_LIB_ERROR,content:{type:s.LOCAL_VIDEO_ERROR}})})),I&&I({status:l.DH_LIB_STATUS,content:{type:s.LOCAL_VIDEO_MUTED}})}))}else!u.closeLog&&console.error("videoElement is null!")}!u.closeLog&&console.info("remoteVideoConnected",o,e,u.restartCount),u.rtcStateCallback&&u.rtcStateCallback({action:"remoteVideoConnected",body:{id:o,connected:e,restartCount:u.restartCount}}),r(E)&&E(o,e)},onRemoteVideoOn:function(t){u.haveVideoOn=!0,!u.closeLog&&console.info("remotevideoon by id: ",t),u.clearRtcTimeout();var o=document.querySelector("#starlingRtcContainer"),e=o&&o.lastChild;e&&(e.style.display="none"),u.rtcStateCallback&&u.rtcStateCallback({action:"remotevideoon",body:t}),I&&I({status:l.DH_LIB_OPEN}),r(S)&&S(t)},onRemoteMediaState:function(t,o,e){!u.closeLog&&console.info("remoteMediaState",t,o,e),u.rtcStateCallback&&u.rtcStateCallback({action:"remoteMediaState",body:{id:t,medium:o,connected:e}}),r(_)&&_(t,o,e)},onLocalVideoConnected:function(t){!u.closeLog&&console.info("localVideoConnected",t),u.rtcStateCallback&&u.rtcStateCallback({action:"localVideoConnected",body:{connected:t}}),r(O)&&O(t)},onRemotedata:function(t){if(u.rtcConfig&&u.rtcConfig.usingdatachannel){var o=i.parse(t);!u.closeLog&&console.info("RTC - receive:",o),r(g)&&g(o)}},onLocalStream:function(t,o){!u.closeLog&&console.info("rtc - onlocalstream by name: "+o),u.rtcStateCallback&&u.rtcStateCallback({action:"onlocalstream",body:{stream:t,name:o}}),r(h)&&h(t,o)},onLocalVideoPublished:function(){!u.closeLog&&console.info("LocalVideoPublished 本地视频发布成功"),u.rtcStateCallback&&u.rtcStateCallback({action:"localvideopublished_ok",body:!0}),r(R)&&R()},onLocalVideoPublishing:function(){!u.closeLog&&console.info("LocalVideoPublishing 本地视频发布成功"),u.rtcStateCallback&&u.rtcStateCallback({action:"localvideopublishing",body:!0}),r(p)&&p()},onRemoteVideoComing:function(t){!u.closeLog&&console.info("remotevideocoming",t),u.rtcStateCallback&&u.rtcStateCallback({action:"remotevideocoming",body:t}),r(v)&&v(t)},onRemoteVideoLoading:function(t){!u.closeLog&&console.info("remotevideoloading by id: ",t),u.rtcStateCallback&&u.rtcStateCallback({action:"remotevideoloading",body:t}),r(k)&&k(t)},onRemoteVideoOff:function(t){if(!u.stopped){var o=document.getElementById("remotevideo500");o&&o.pause(),!u.closeLog&&console.info("remotevideooff: ",t),u.isRtcVideoOn=!1,u.rtcStateCallback&&u.rtcStateCallback({action:"remotevideooff",body:t}),I&&I({status:l.DH_LIB_CLOSE}),r(L)&&L(t),u.startRtcTimeout()}},onSuccess:function(){!u.closeLog&&console.info("rtc - success"),u.rtcStateCallback&&u.rtcStateCallback({action:"success",body:!0}),r(y)&&y()},onError:function(o){u.stopped||(u.isRtcVideoOn=!1,!u.closeLog&&console.error("rtc - error:",o),u.rtcStateCallback&&u.rtcStateCallback({action:"error",body:o}),I&&I({status:l.DH_LIB_ERROR,content:{type:s.RTC_ERROR}}),r(V)&&V(o),(o.includes("Lost connection to the server")||o.includes("Is the server down"))&&u.restartRtc&&u.restartRtc(t))}}})}})),e(this,"closeRtc",(function(){var t;u.stopped=!0,u.clearRtcTimeout(),clearTimeout(u.reopenTimer),null===(t=u.client)||void 0===t||t.destroy(),u.client=void 0,u.restarting=!1})),e(this,"restartRtc",(function(t){u.stopped||!u.restarting&&u.bizConfig&&u.bizConfig.autoReConnect&&(u.rtcStateCallback&&u.rtcStateCallback({action:"restartRtc",body:t}),u.restarting=!0,u.closeRtc(),u.reopenTimer=setTimeout((function(){!u.closeLog&&console.error("拉流失败,开始重启"),u.restarting=!1,u.openRtc(t)}),2e3))}));var m=t.rtcConnection,C=t.rtcConfig,f=t.closeLog,b=void 0===f||f,g=t.rtcCallback,h=t.bizConfig;this.rtcConnection=m,this.rtcConfig=C,this.rtcCallback=g,this.closeLog=b,this.bizConfig=h,this.timeoutEvent=new c(6e4,(function(){if(u.timeoutStarted=!1,!u.stopped)return u.rtcConnection?void(u.restartRtc&&u.restartRtc(u.rtcConnection)):!u.closeLog&&console.warn("remotevideoon事件超时, rtcConnectionRef is null")}))}return t(d,[{key:"muteMicphone",value:function(t){this.client&&this.client.muteMicphone&&this.client.muteMicphone(t)}}]),d}();export{d as default};
|
package/es/Client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @description 云渲染数字人sdk
|
|
4
4
|
* @author zhangyue49
|
|
5
5
|
*/
|
|
6
|
-
import { DhRealtimeHumanType, ConnectDataType, CallbackMsgType } from './interface';
|
|
6
|
+
import { DhRealtimeHumanType, ConnectDataType, CallbackMsgType, EffectsType } from './interface';
|
|
7
7
|
import { DHServerInterface, RenderCallback } from './Server';
|
|
8
8
|
export default class DhRealtimeHuman {
|
|
9
9
|
private token;
|
|
@@ -15,15 +15,21 @@ export default class DhRealtimeHuman {
|
|
|
15
15
|
private rtcServer?;
|
|
16
16
|
private rtcConnectParams;
|
|
17
17
|
private cutoutInstance?;
|
|
18
|
+
private hasInitChromaEffects;
|
|
18
19
|
private readonly isHuawei;
|
|
19
20
|
private rtcServerUrl;
|
|
21
|
+
private rtcInternalIp;
|
|
20
22
|
private recordController;
|
|
21
23
|
private wsReadyState;
|
|
22
24
|
private readonly isPreOpenSession;
|
|
23
25
|
private readonly openWsOnly;
|
|
24
|
-
private
|
|
26
|
+
private hasConnectUserFigureEffects;
|
|
25
27
|
private _isMicMuted;
|
|
28
|
+
private mergeConnectRtcExtras;
|
|
29
|
+
private emitRawStatusMessage;
|
|
30
|
+
private resolveMediaServerByDomain?;
|
|
26
31
|
constructor(props: DhRealtimeHumanType);
|
|
32
|
+
canShowStaticFrameCover(): boolean;
|
|
27
33
|
init(props: DhRealtimeHumanType): void;
|
|
28
34
|
onDigitalHumanCallbackPlus: (data: CallbackMsgType) => void;
|
|
29
35
|
onRemoteVideoComing: (id: number) => void;
|
|
@@ -31,6 +37,9 @@ export default class DhRealtimeHuman {
|
|
|
31
37
|
onRemoteVideoOn: () => void;
|
|
32
38
|
onRemoteVideoOffLastFrame: () => void;
|
|
33
39
|
connectListener: (data: ConnectDataType) => void;
|
|
40
|
+
handleConnectResponse(data: ConnectDataType): Promise<void>;
|
|
41
|
+
mergeConnectRtcExtrasFromBody(body: Record<string, any>): Promise<void>;
|
|
42
|
+
applyConnectChroma(effects: EffectsType): Promise<void>;
|
|
34
43
|
createServer: (sessionId?: string) => void;
|
|
35
44
|
checkHumanInstansce: () => boolean;
|
|
36
45
|
sendMessage: (message: DHServerInterface | ArrayBuffer, listener: RenderCallback | null) => Promise<void> | null;
|
package/es/Client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as _createClass,classCallCheck as _classCallCheck,defineProperty as _defineProperty,objectSpread2 as _objectSpread2,asyncToGenerator as _asyncToGenerator,regeneratorRuntime as _regeneratorRuntime}from"./_virtual/_rollupPluginBabelHelpers.js";import CustomJSON from"@bddh/starling-json";import isEmpty from"lodash/isEmpty";import omit from"lodash/omit";import pick from"lodash/pick";import{v4}from"uuid";import{statusEnum,errorTypeEnum,CONNECT_MAIN_KEY}from"./interface.js";import Server from"./Server.js";import BrtcClient from"./BrtcClient.js";import{removeLastFrameCoverWrapper,removeHumanDom,createHumanDom,appendLastFrameCoverSibling,appendRtcDomStyle,RTC_VIDEO_ID,checkIsHuawei,setHumanPlayerWrapperVisible,setLastFrameCoverVisible,playHumanVideo,muteHumanVideo,captureLastFrameToCover}from"./DomControl.js";import Cutout from"./Cutout.js";import RecordController from"./RecordController.js";var DhRealtimeHuman=function(){function DhRealtimeHuman(props){var _this=this;_classCallCheck(this,DhRealtimeHuman),_defineProperty(this,"token",void 0),_defineProperty(this,"appKey",void 0),_defineProperty(this,"appId",void 0),_defineProperty(this,"connectParams",void 0),_defineProperty(this,"onDigitalHumanCallback",void 0),_defineProperty(this,"dhServer",void 0),_defineProperty(this,"rtcServer",void 0),_defineProperty(this,"rtcConnectParams",void 0),_defineProperty(this,"cutoutInstance",void 0),_defineProperty(this,"isHuawei",checkIsHuawei()),_defineProperty(this,"rtcServerUrl",void 0),_defineProperty(this,"recordController",null),_defineProperty(this,"wsReadyState",-1),_defineProperty(this,"isPreOpenSession",!1),_defineProperty(this,"openWsOnly",!1),_defineProperty(this,"enableLastFrameCover",!1),_defineProperty(this,"_isMicMuted",!1),_defineProperty(this,"onDigitalHumanCallbackPlus",(function(data){var _this$rtcServer,content=data.content;data.status===statusEnum.DH_LIB_FULL_STATUS&&"wsState"===(null==content?void 0:content.type)&&(_this.wsReadyState=content.readyState,3===content.readyState&&(null===(_this$rtcServer=_this.rtcServer)||void 0===_this$rtcServer||_this$rtcServer.closeRtc(),_this.enableLastFrameCover&&(setHumanPlayerWrapperVisible(!1),setLastFrameCoverVisible(!0))));_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback(data)})),_defineProperty(this,"onRemoteVideoComing",(function(id){_this.rtcConnectParams&&_this.rtcConnectParams.feedId&&id===+_this.rtcConnectParams.feedId&&_this.rtcServer&&_this.rtcServer.client&&_this.rtcServer.client.subscribeStreaming("remotevideo500",+_this.rtcConnectParams.feedId)})),_defineProperty(this,"onLocalStream",(function(){(_this.connectParams||{}).pullAudioFromRtc&&_this.rtcServer&&_this.rtcServer.muteMicphone(_this._isMicMuted)})),_defineProperty(this,"onRemoteVideoOn",(function(){setTimeout(_asyncToGenerator(_regeneratorRuntime().mark((function _callee(){var video;return _regeneratorRuntime().wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:if(!_this.enableLastFrameCover){_context.next=8;break}if(video=document.getElementById(RTC_VIDEO_ID),!_this.cutoutInstance||!video){_context.next=5;break}return _context.next=5,_this.cutoutInstance.updateSource(video);case 5:captureLastFrameToCover(),setHumanPlayerWrapperVisible(!0),setLastFrameCoverVisible(!1);case 8:case"end":return _context.stop()}}),_callee)}))),100)})),_defineProperty(this,"onRemoteVideoOffLastFrame",(function(){setLastFrameCoverVisible(!0)})),_defineProperty(this,"connectListener",(function(data){var code=data.code,body=data.body,message=data.message;if(0===code&&_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:statusEnum.DH_LIB_WS_SUCCESS,content:data}),0===code){var _data=CustomJSON.parse(body),server=_data.rtcServerUrl,appId=_data.appId,token=_data.clientToken,roomName=_data.roomName,userId=_data.clientId,feedId=_data.feedId,chargeId=_data.chargeId;appId&&roomName&&(_this.rtcConnectParams={server:_this.rtcServerUrl||server,appId:appId,token:token,roomName:roomName,userId:userId,feedId:feedId,chargeId:chargeId},_this.rtcServer&&_this.rtcServer.openRtc(_this.rtcConnectParams))}else _this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:statusEnum.DH_LIB_ERROR,content:{type:errorTypeEnum.CONNECT_ERROR,msg:{code:code,errMsg:message}}})})),_defineProperty(this,"createServer",(function(sessionId){var _this$dhServer,params=_objectSpread2(_objectSpread2(_objectSpread2({token:_this.token,appKey:_this.appKey,appId:_this.appId},sessionId?{sessionId:sessionId}:{}),pick(_this.connectParams,CONNECT_MAIN_KEY)),{},{parameters:omit(_this.connectParams,CONNECT_MAIN_KEY),onConnect:_this.connectListener,onDigitalHumanCallback:_this.onDigitalHumanCallbackPlus});null!==(_this$dhServer=_this.dhServer)&&void 0!==_this$dhServer&&_this$dhServer.preConnectSuccess?(_this.dhServer.connectParams=params,_this.dhServer&&_this.dhServer.sendPreConnect(params)):_this.openWsOnly?_this.dhServer&&_this.dhServer.sendConnect(params):_this.dhServer&&_this.dhServer.createSocket(params)})),_defineProperty(this,"checkHumanInstansce",(function(){return _this.dhServer?!(_this.isPreOpenSession&&!_this.dhServer.preConnectSuccess)||(_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:statusEnum.DH_LIB_ERROR,content:{type:errorTypeEnum.CONNECT_ERROR,msg:{code:4001,errMsg:"webSocket连接中"}}}),!1):(_this.onDigitalHumanCallback&&_this.onDigitalHumanCallback({status:statusEnum.DH_LIB_ERROR,content:{type:errorTypeEnum.CONNECT_ERROR,msg:{code:4002,errMsg:"请先初始化数字人实例"}}}),!1)})),_defineProperty(this,"sendMessage",(function(message,listener){return _this.dhServer&&_this.dhServer.sendMessage(message,listener)})),_defineProperty(this,"interrupt",_asyncToGenerator(_regeneratorRuntime().mark((function _callee2(){return _regeneratorRuntime().wrap((function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.abrupt("return",new Promise((function(resolve){_this.dhServer&&_this.dhServer.sendMessage({requestId:v4(),action:"TEXT_RENDER",body:"<interrupt></interrupt>",clientTs:(new Date).getTime()},(function(){return resolve()}))})));case 1:case"end":return _context2.stop()}}),_callee2)})))),_defineProperty(this,"textRender",(function(renderData){var requestId=renderData.requestId,body=renderData.body,onCallbackMsg=renderData.onCallbackMsg;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||v4(),action:"TEXT_RENDER",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_defineProperty(this,"textStreamRender",(function(renderData){var requestId=renderData.requestId,body=renderData.body,onCallbackMsg=renderData.onCallbackMsg,first=CustomJSON.parse(body).first;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||v4(),action:"TEXT_STREAM_RENDER",body:body,clientTs:(new Date).getTime()},first?onCallbackMsg:null)})),_defineProperty(this,"audioRender",(function(renderData){var body=renderData.body,onCallbackMsg=renderData.onCallbackMsg;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:v4(),action:"AUDIO_RENDER",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_defineProperty(this,"audioStreamRender",(function(renderData){var requestId=renderData.requestId,body=renderData.body,onCallbackMsg=renderData.onCallbackMsg;_this.checkHumanInstansce()&&_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||v4(),action:"AUDIO_STREAM_RENDER",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_defineProperty(this,"textQuery",(function(queryData){var requestId=queryData.requestId,body=queryData.body,onCallbackMsg=queryData.onCallbackMsg;_this.dhServer&&_this.dhServer.sendMessage({requestId:requestId||v4(),action:"TEXT_QUERY",body:body,clientTs:(new Date).getTime()},onCallbackMsg)})),_defineProperty(this,"destroy",_asyncToGenerator(_regeneratorRuntime().mark((function _callee3(){var _this$recordControlle;return _regeneratorRuntime().wrap((function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _this.enableLastFrameCover?(playHumanVideo(!1),setHumanPlayerWrapperVisible(!1),setLastFrameCoverVisible(!0)):(removeHumanDom(),removeLastFrameCoverWrapper()),_context3.next=3,_this.dhServer&&_this.dhServer.closeSocket();case 3:_this.rtcServer&&_this.rtcServer.closeRtc(),null===(_this$recordControlle=_this.recordController)||void 0===_this$recordControlle||_this$recordControlle.destroy(),_this.dhServer=null,_this.rtcServer=null;case 7:case"end":return _context3.stop()}}),_callee3)})))),_defineProperty(this,"pauseHuman",(function(){return playHumanVideo(!1)})),_defineProperty(this,"playHuman",(function(){return playHumanVideo(!0)})),_defineProperty(this,"muteHuman",(function(){return muteHumanVideo(!0)})),_defineProperty(this,"unMuteHuman",(function(){var humanVideo=muteHumanVideo(!1);try{return _this.isHuawei?(humanVideo.pause(),humanVideo.play()):humanVideo.paused&&humanVideo.play()}catch(e){console.info(e)}}));var _props$isPreOpenSessi=props.isPreOpenSession,isPreOpenSession=void 0!==_props$isPreOpenSessi&&_props$isPreOpenSessi,_props$isOpenWsOnly=props.isOpenWsOnly,isOpenWsOnly=void 0!==_props$isOpenWsOnly&&_props$isOpenWsOnly,wsUrl=props.wsUrl,renderParams=props.renderParams,checkHeartbeatMismatch=props.checkHeartbeatMismatch,onDigitalHumanCallback=props.onDigitalHumanCallback;this.isPreOpenSession=isPreOpenSession,this.openWsOnly=isOpenWsOnly,this.dhServer=new Server(wsUrl||"wss://open.xiling.baidu.com/cloud/digital-human-demonstration",{checkHeartbeatMismatch:checkHeartbeatMismatch}),this.onDigitalHumanCallback=function(data){data.status!==statusEnum.DH_LIB_FULL_STATUS?onDigitalHumanCallback&&onDigitalHumanCallback(data):(null==renderParams?void 0:renderParams.fullStatus)&&onDigitalHumanCallback&&onDigitalHumanCallback(data)},isPreOpenSession||isOpenWsOnly?this.dhServer.createSocket({onDigitalHumanCallback:this.onDigitalHumanCallbackPlus},isPreOpenSession):this.init(props)}return _createClass(DhRealtimeHuman,[{key:"init",value:function(props){var _connectParams$reConn,_this2=this,wrapperId=props.wrapperId,token=props.token,appKey=props.appKey,appId=props.appId,connectParams=props.connectParams,_props$renderParams=props.renderParams,renderParams=void 0===_props$renderParams?{}:_props$renderParams,rtcConnectParams=props.rtcConnectParams,brtcParams=props.brtcParams,rtcServerUrl=props.rtcServerUrl;if(this.token=token,this.appKey=appKey,this.appId=appId,this.rtcServerUrl=rtcServerUrl,this.connectParams=_objectSpread2({autoChromaKey:(null==renderParams?void 0:renderParams.autoChromaKey)||!1},connectParams),!appId&&!appKey&&!token)throw new Error("appId and appKey or token is required");var closeLog=renderParams.closeLog,audio3AConstraints=renderParams.audio3AConstraints;this.enableLastFrameCover=!!renderParams.enableLastFrameCover,removeLastFrameCoverWrapper(),removeHumanDom();var playerWrapper=(createHumanDom({autoChromaKey:!!renderParams.autoChromaKey||!isEmpty(renderParams.chromaEffects)})||{}).playerWrapper,wrapperEle=document.getElementById(wrapperId||"");wrapperEle||console.error("dom with wrapperId is not find"),playerWrapper&&wrapperEle&&wrapperEle.appendChild(playerWrapper),this.enableLastFrameCover&&wrapperEle&&("static"===window.getComputedStyle(wrapperEle).position&&(wrapperEle.style.position="relative"),appendLastFrameCoverSibling(wrapperEle)),appendRtcDomStyle();var rtcConfig=_objectSpread2({remotevideoviewid:wrapperId,showvideobps:!1,usingvideo:!1,usingaudio:!(null==connectParams||!connectParams.pullAudioFromRtc),aspublisher:!(null==connectParams||!connectParams.pullAudioFromRtc),autopublish:!(null==connectParams||!connectParams.pullAudioFromRtc),usingdatachannel:!0,autoplaymuted:!1},brtcParams);this.rtcServer=new BrtcClient({closeLog:closeLog,videoWrapperId:RTC_VIDEO_ID,rtcConfig:rtcConfig,bizConfig:{autoReConnect:null===(_connectParams$reConn=null==connectParams?void 0:connectParams.reConnect)||void 0===_connectParams$reConn||_connectParams$reConn},rtcCallback:_objectSpread2({onRemoteVideoComing:this.onRemoteVideoComing,onDigitalHumanCallback:this.onDigitalHumanCallback,onLocalStream:this.onLocalStream,onRemoteVideoOn:this.onRemoteVideoOn},this.enableLastFrameCover?{onRemoteVideoOff:this.onRemoteVideoOffLastFrame}:{})}),(!isEmpty(null==renderParams?void 0:renderParams.chromaEffects)||null!=renderParams&&renderParams.autoChromaKey)&&(this.cutoutInstance=new Cutout({sourceId:RTC_VIDEO_ID,effects:null==renderParams?void 0:renderParams.chromaEffects})),isEmpty(rtcConnectParams)||(this.rtcConnectParams=rtcConnectParams,this.rtcServer.openRtc(rtcConnectParams)),null!=connectParams&&connectParams.pullAudioFromRtc?this.recordController=null:this.recordController=new RecordController({pickAudioMode:null==connectParams?void 0:connectParams.pickAudioMode,audio3AConstraints:audio3AConstraints,asrSample:null==connectParams?void 0:connectParams.asrSample,onAudioData:function(pcmData){1===_this2.wsReadyState&&_this2.sendMessage(pcmData,null)},onError:function(err){_this2.onDigitalHumanCallback&&_this2.onDigitalHumanCallback({status:statusEnum.DH_LIB_ERROR,content:{type:errorTypeEnum.CONNECT_ERROR,msg:{code:-1,errMsg:err.message}}})}})}},{key:"startRecord",value:function(){var _this$connectParams;null!==(_this$connectParams=this.connectParams)&&void 0!==_this$connectParams&&_this$connectParams.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!1):this.recordController&&this.recordController.start()}},{key:"stopRecord",value:function(){var _this$connectParams2;if(null!==(_this$connectParams2=this.connectParams)&&void 0!==_this$connectParams2&&_this$connectParams2.pullAudioFromRtc)return this.rtcServer&&this.rtcServer.muteMicphone(!0),void this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:v4(),clientTs:Date.now(),body:""},null);this.recordController&&this.recordController.stop(),this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:v4(),clientTs:Date.now(),body:""},null)}},{key:"muteMicrophone",value:function(isMute){var _this$connectParams3,_this$rtcServer2;null!==(_this$connectParams3=this.connectParams)&&void 0!==_this$connectParams3&&_this$connectParams3.pullAudioFromRtc&&(this._isMicMuted=isMute,null===(_this$rtcServer2=this.rtcServer)||void 0===_this$rtcServer2||_this$rtcServer2.muteMicphone(isMute))}}]),DhRealtimeHuman}();export{DhRealtimeHuman as default};
|
|
1
|
+
import{createClass as e,classCallCheck as t,defineProperty as r,objectSpread2 as n,asyncToGenerator as a,regeneratorRuntime as o}from"./_virtual/_rollupPluginBabelHelpers.js";import s from"@bddh/starling-json";import i from"lodash/isEmpty";import c from"lodash/omit";import u from"lodash/pick";import{v4 as l}from"uuid";import{statusEnum as d,errorTypeEnum as h,CONNECT_MAIN_KEY as m}from"./interface.js";import v from"./Server.js";import p from"./BrtcClient.js";import{removeLastFrameCoverWrapper as f,removeHumanDom as S,createHumanDom as C,appendLastFrameCoverSibling as g,appendRtcDomStyle as R,RTC_VIDEO_ID as y,checkIsHuawei as k,setHumanPlayerWrapperVisible as b,setLastFrameCoverVisible as I,captureLastFrameToCover as w,playHumanVideo as D,muteHumanVideo as E,ensureCutoutDomMounted as M}from"./DomControl.js";import H from"./Cutout.js";import x from"./RecordController.js";var _=function(_,T,P){function O(e){var i=this;t(this,O),r(this,"token",void 0),r(this,"appKey",void 0),r(this,"appId",void 0),r(this,"connectParams",void 0),r(this,"onDigitalHumanCallback",void 0),r(this,"dhServer",void 0),r(this,"rtcServer",void 0),r(this,"rtcConnectParams",void 0),r(this,"cutoutInstance",void 0),r(this,"hasInitChromaEffects",!1),r(this,"isHuawei",k()),r(this,"rtcServerUrl",void 0),r(this,"rtcInternalIp",void 0),r(this,"recordController",null),r(this,"wsReadyState",-1),r(this,"isPreOpenSession",!1),r(this,"openWsOnly",!1),r(this,"hasConnectUserFigureEffects",!1),r(this,"_isMicMuted",!1),r(this,"mergeConnectRtcExtras",!1),r(this,"emitRawStatusMessage",!1),r(this,"resolveMediaServerByDomain",void 0),r(this,"onDigitalHumanCallbackPlus",(function(e){var t,r=e.content;e.status===d.DH_LIB_FULL_STATUS&&"wsState"===(null==r?void 0:r.type)&&(i.wsReadyState=r.readyState,3===r.readyState&&(null===(t=i.rtcServer)||void 0===t||t.closeRtc(),i.canShowStaticFrameCover()&&(b(!1),I(!0))));i.onDigitalHumanCallback&&i.onDigitalHumanCallback(e)})),r(this,"onRemoteVideoComing",(function(e){i.rtcConnectParams&&i.rtcConnectParams.feedId&&e===+i.rtcConnectParams.feedId&&i.rtcServer&&i.rtcServer.client&&i.rtcServer.client.subscribeStreaming("remotevideo500",+i.rtcConnectParams.feedId)})),r(this,"onLocalStream",(function(){(i.connectParams||{}).pullAudioFromRtc&&i.rtcServer&&i.rtcServer.muteMicphone(i._isMicMuted)})),r(this,"onRemoteVideoOn",(function(){setTimeout(a(o().mark((function e(){var t;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=document.getElementById(y),!i.cutoutInstance||!t){e.next=4;break}return e.next=4,i.cutoutInstance.updateSource(t);case 4:i.canShowStaticFrameCover()&&(w(),b(!0),I(!1));case 5:case"end":return e.stop()}}),e)}))),100)})),r(this,"onRemoteVideoOffLastFrame",(function(){i.canShowStaticFrameCover()&&I(!0)})),r(this,"connectListener",(function(e){i.handleConnectResponse(e).catch((function(e){console.warn("[DhRealtimeHuman] handleConnectResponse failed",e)}))})),r(this,"createServer",(function(e){var t,r=n(n(n({token:i.token,appKey:i.appKey,appId:i.appId},e?{sessionId:e}:{}),u(i.connectParams,m)),{},{parameters:c(i.connectParams,m),onConnect:i.connectListener,onDigitalHumanCallback:i.onDigitalHumanCallbackPlus});null!==(t=i.dhServer)&&void 0!==t&&t.preConnectSuccess?(i.dhServer.connectParams=r,i.dhServer&&i.dhServer.sendPreConnect(r)):i.openWsOnly?i.dhServer&&i.dhServer.sendConnect(r):i.dhServer&&i.dhServer.createSocket(r)})),r(this,"checkHumanInstansce",(function(){return i.dhServer?!(i.isPreOpenSession&&!i.dhServer.preConnectSuccess)||(i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:d.DH_LIB_ERROR,content:{type:h.CONNECT_ERROR,msg:{code:4001,errMsg:"webSocket连接中"}}}),!1):(i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:d.DH_LIB_ERROR,content:{type:h.CONNECT_ERROR,msg:{code:4002,errMsg:"请先初始化数字人实例"}}}),!1)})),r(this,"sendMessage",(function(e,t){return i.dhServer&&i.dhServer.sendMessage(e,t)})),r(this,"interrupt",a(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){i.dhServer&&i.dhServer.sendMessage({requestId:l(),action:"TEXT_RENDER",body:"<interrupt></interrupt>",clientTs:(new Date).getTime()},(function(){return e()}))})));case 1:case"end":return e.stop()}}),e)})))),r(this,"textRender",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:t||l(),action:"TEXT_RENDER",body:r,clientTs:(new Date).getTime()},n)})),r(this,"textStreamRender",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg,a=s.parse(r).first;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:t||l(),action:"TEXT_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},a?n:null)})),r(this,"audioRender",(function(e){var t=e.body,r=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:l(),action:"AUDIO_RENDER",body:t,clientTs:(new Date).getTime()},r)})),r(this,"audioStreamRender",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:t||l(),action:"AUDIO_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},n)})),r(this,"textQuery",(function(e){var t=e.requestId,r=e.body,n=e.onCallbackMsg;i.dhServer&&i.dhServer.sendMessage({requestId:t||l(),action:"TEXT_QUERY",body:r,clientTs:(new Date).getTime()},n)})),r(this,"destroy",a(o().mark((function e(){var t,r;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(t=i.cutoutInstance)||void 0===t||t.destroy(),i.cutoutInstance=void 0,i.canShowStaticFrameCover()?(D(!1),b(!1),I(!0)):(S(),f()),e.next=5,i.dhServer&&i.dhServer.closeSocket();case 5:i.rtcServer&&i.rtcServer.closeRtc(),null===(r=i.recordController)||void 0===r||r.destroy(),i.dhServer=null,i.rtcServer=null;case 9:case"end":return e.stop()}}),e)})))),r(this,"pauseHuman",(function(){return D(!1)})),r(this,"playHuman",(function(){return D(!0)})),r(this,"muteHuman",(function(){return E(!0)})),r(this,"unMuteHuman",(function(){var e=E(!1);try{return i.isHuawei?(e.pause(),e.play()):e.paused&&e.play()}catch(e){console.info(e)}}));var p=e.isPreOpenSession,C=void 0!==p&&p,g=e.isOpenWsOnly,R=void 0!==g&&g,M=e.wsUrl,H=e.renderParams,x=e.checkHeartbeatMismatch,_=e.emitRawStatusMessage,T=void 0!==_&&_,P=e.onDigitalHumanCallback;this.isPreOpenSession=C,this.openWsOnly=R,this.emitRawStatusMessage=T,this.dhServer=new v(M||"wss://open.xiling.baidu.com/cloud/digital-human-demonstration",{checkHeartbeatMismatch:x,emitRawStatusMessage:T}),this.onDigitalHumanCallback=function(e){e.status!==d.DH_LIB_FULL_STATUS?P&&P(e):(null==H?void 0:H.fullStatus)&&P&&P(e)},C||R?this.dhServer.createSocket({onDigitalHumanCallback:this.onDigitalHumanCallbackPlus},C):this.init(e)}return e(O,[{key:"canShowStaticFrameCover",value:function(){return!this.hasInitChromaEffects&&!this.hasConnectUserFigureEffects}},{key:"init",value:function(e){var t,r,a=this,o=e.wrapperId,s=e.token,c=e.appKey,u=e.appId,l=e.connectParams,m=e.renderParams,v=void 0===m?{}:m,k=e.rtcConnectParams,b=e.brtcParams,I=e.rtcServerUrl,w=e.rtcInternalIp,D=e.mergeConnectRtcExtras,E=void 0!==D&&D,M=e.emitRawStatusMessage,_=void 0!==M&&M,T=e.remoteAutoPlay,P=e.resolveMediaServerByDomain;if(this.mergeConnectRtcExtras=Boolean(E),this.emitRawStatusMessage=_,null===(t=this.dhServer)||void 0===t||t.setEmitRawStatusMessage(this.emitRawStatusMessage),this.resolveMediaServerByDomain=P,this.hasConnectUserFigureEffects=!1,this.token=s,this.appKey=c,this.appId=u,this.rtcServerUrl=I,this.rtcInternalIp=w,this.connectParams=n({autoChromaKey:(null==v?void 0:v.autoChromaKey)||!1},l),!u&&!c&&!s)throw new Error("appId and appKey or token is required");var O=v.closeLog,F=v.audio3AConstraints;this.hasInitChromaEffects=!i(null==v?void 0:v.chromaEffects)||!(null==v||!v.autoChromaKey),f(),S();var A=(C({autoChromaKey:!!v.autoChromaKey||!i(v.chromaEffects)})||{}).playerWrapper,U=document.getElementById(o||"");U||console.error("dom with wrapperId is not find"),A&&U&&U.appendChild(A),this.canShowStaticFrameCover()&&U&&("static"===window.getComputedStyle(U).position&&(U.style.position="relative"),g(U)),R();var B=n({remotevideoviewid:o,showvideobps:!1,usingvideo:!1,usingaudio:!(null==l||!l.pullAudioFromRtc),aspublisher:!(null==l||!l.pullAudioFromRtc),autopublish:!(null==l||!l.pullAudioFromRtc),usingdatachannel:!0,autoplaymuted:!1},b);this.rtcServer=new p({closeLog:O,videoWrapperId:y,rtcConfig:B,bizConfig:n({autoReConnect:null===(r=null==l?void 0:l.reConnect)||void 0===r||r},void 0!==T?{remoteAutoPlay:T}:{}),rtcCallback:{onRemoteVideoComing:this.onRemoteVideoComing,onDigitalHumanCallback:this.onDigitalHumanCallback,onLocalStream:this.onLocalStream,onRemoteVideoOn:this.onRemoteVideoOn,onRemoteVideoOff:this.onRemoteVideoOffLastFrame}}),(!i(null==v?void 0:v.chromaEffects)||null!=v&&v.autoChromaKey)&&(this.cutoutInstance=new H({sourceId:y,effects:null==v?void 0:v.chromaEffects})),i(k)||(this.rtcConnectParams=k,this.rtcServer.openRtc(k)),null!=l&&l.pullAudioFromRtc?this.recordController=null:this.recordController=new x({pickAudioMode:null==l?void 0:l.pickAudioMode,audio3AConstraints:F,asrSample:null==l?void 0:l.asrSample,onAudioData:function(e){1===a.wsReadyState&&a.sendMessage(e,null)},onError:function(e){a.onDigitalHumanCallback&&a.onDigitalHumanCallback({status:d.DH_LIB_ERROR,content:{type:h.CONNECT_ERROR,msg:{code:-1,errMsg:e.message}}})}})}},{key:"handleConnectResponse",value:function(e){return(_=_||a(o().mark((function e(t){var r,n,a,i,c,u,l,m,v,p,f;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.code,n=t.body,a=t.message,0===r&&this.onDigitalHumanCallback&&this.onDigitalHumanCallback({status:d.DH_LIB_WS_SUCCESS,content:t}),this.emitRawStatusMessage&&this.onDigitalHumanCallback&&this.onDigitalHumanCallback({status:d.DH_LIB_MESSAGE,content:t}),0!==r){e.next=18;break}if(i=s.parse(n),!this.mergeConnectRtcExtras||!this.rtcServer){e.next=14;break}return e.prev=6,e.next=9,this.mergeConnectRtcExtrasFromBody(i);case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(6),console.warn("[DhRealtimeHuman] mergeConnectRtcExtrasFromBody failed",e.t0);case 14:c=i.rtcServerUrl,u=i.appId,l=i.clientToken,m=i.roomName,v=i.clientId,p=i.feedId,f=i.chargeId,u&&m&&(this.rtcConnectParams={server:this.rtcServerUrl||c,appId:u,token:l,roomName:m,userId:v,feedId:p,chargeId:f},this.rtcServer&&this.rtcServer.openRtc(this.rtcConnectParams)),e.next=19;break;case 18:this.onDigitalHumanCallback&&this.onDigitalHumanCallback({status:d.DH_LIB_ERROR,content:{type:h.CONNECT_ERROR,msg:{code:r,errMsg:a}}});case 19:case"end":return e.stop()}}),e,this,[[6,11]])})))).apply(this,arguments)}},{key:"mergeConnectRtcExtrasFromBody",value:function(e){return(T=T||a(o().mark((function e(t){var r,n,a,i,c,u,l;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.rtcServer){e.next=2;break}return e.abrupt("return");case 2:if(r=t.userFigure,n=void 0===r?"":r,a=t.rtcExternalInfo,i=(void 0===a?{}:a).udpDomain||"",c={},this.rtcInternalIp&&(c.mediaserverip=this.rtcInternalIp),!n){e.next=19;break}if(!(u=s.parse(n)).effects){e.next=17;break}return e.prev=9,e.next=12,this.applyConnectChroma(u.effects);case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(9),console.warn("[DhRealtimeHuman] applyConnectChroma failed",e.t0);case 17:e.next=36;break;case 19:if(!i){e.next=36;break}if(l=this.resolveMediaServerByDomain){e.next=26;break}console.warn("[DhRealtimeHuman] udpDomain 解析需传入 resolveMediaServerByDomain"),c.mediaserverip="",e.next=36;break;case 26:return e.prev=26,e.next=29,l(i);case 29:c.mediaserverip=e.sent,e.next=36;break;case 32:e.prev=32,e.t1=e.catch(26),c.mediaserverip="",console.error("resolveMediaServerByDomain failed",e.t1);case 36:this.rtcServer.mergeRtcConfig(c);case 37:case"end":return e.stop()}}),e,this,[[9,14],[26,32]])})))).apply(this,arguments)}},{key:"applyConnectChroma",value:function(e){return(P=P||a(o().mark((function e(t){var r,n,a,s;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasInitChromaEffects){e.next=2;break}return e.abrupt("return");case 2:if(n=t.chromaKey,a=t.version,null!=n){e.next=5;break}return e.abrupt("return");case 5:if(M()){e.next=7;break}return e.abrupt("return");case 7:if(this.hasConnectUserFigureEffects=!0,f(),I(!1),b(!0),null===(r=this.cutoutInstance)||void 0===r||r.destroy(),this.cutoutInstance=new H({sourceId:y,effects:{version:a,chromaKey:n}}),!(s=document.getElementById(y))){e.next=17;break}return e.next=17,this.cutoutInstance.updateSource(s);case 17:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}},{key:"startRecord",value:function(){var e;null!==(e=this.connectParams)&&void 0!==e&&e.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!1):this.recordController&&this.recordController.start()}},{key:"stopRecord",value:function(){var e;if(null!==(e=this.connectParams)&&void 0!==e&&e.pullAudioFromRtc)return this.rtcServer&&this.rtcServer.muteMicphone(!0),void this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:l(),clientTs:Date.now(),body:""},null);this.recordController&&this.recordController.stop(),this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:l(),clientTs:Date.now(),body:""},null)}},{key:"muteMicrophone",value:function(e){var t,r;null!==(t=this.connectParams)&&void 0!==t&&t.pullAudioFromRtc&&(this._isMicMuted=e,null===(r=this.rtcServer)||void 0===r||r.muteMicphone(e))}}]),O}();export{_ as default};
|
package/es/Cutout.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ import { ChromaEffectOptions } from '@bddh/starling-cutout/es/interface';
|
|
|
7
7
|
import Seriously from '@bddh/starling-cutout/es/Seriously';
|
|
8
8
|
interface CutoutType {
|
|
9
9
|
effects?: {
|
|
10
|
-
version
|
|
11
|
-
chromaKey
|
|
10
|
+
version?: number;
|
|
11
|
+
chromaKey?: Partial<ChromaEffectOptions>;
|
|
12
12
|
};
|
|
13
13
|
sourceId: string;
|
|
14
14
|
}
|
package/es/Cutout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as
|
|
1
|
+
import{createClass as t,classCallCheck as e,defineProperty as s}from"./_virtual/_rollupPluginBabelHelpers.js";import n from"@bddh/starling-cutout/es/Seriously";var o={version:2,chromaKey:{screen:[53,186,123],similarity:90,edgeShrink:3,smoothness:80,spill:100,opacity:1,contrast:0,brightness:0,gamma:0}},r=function(){function r(t){e(this,r),s(this,"cutoutInstance",void 0);var u=t.effects,a=t.sourceId;this.cutoutInstance=new n("starling-cutout-canvas",a||"starling-cutout-video",u&&u.chromaKey||o.chromaKey,u&&u.version||o.version)}return t(r,[{key:"setOptions",value:function(t){t&&this.cutoutInstance&&this.cutoutInstance.setOptions(t)}},{key:"destroy",value:function(){return this.cutoutInstance.destroy()}},{key:"updateSource",value:function(t){return this.cutoutInstance.updateSource(t)}}]),r}();export{o as DEFAULT_EFFECTS,r as default};
|
package/es/DomControl.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const RTC_VIDEO_ID = "remotevideo500";
|
|
|
17
17
|
export declare const LAST_FRAME_COVER_CANVAS_CLASS = "canvas-item";
|
|
18
18
|
export declare const LAST_FRAME_COVER_INNER_CANVAS_ID = "starling-last-frame-cover-canvas";
|
|
19
19
|
export declare function createHumanDom(options: CreateVideoDomOptions): CreateVideoDomResult | null;
|
|
20
|
+
export declare function ensureCutoutDomMounted(): boolean;
|
|
20
21
|
export declare function appendLastFrameCoverSibling(mountEl: HTMLElement | null): void;
|
|
21
22
|
export declare function captureLastFrameToCover(): boolean;
|
|
22
23
|
export declare function setHumanPlayerWrapperVisible(visible: boolean): void;
|
package/es/DomControl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var e="starling-cutout-canvas",t="cloud-brtc-player-wrapper",n="remotevideo500",i="canvas-item",o="starling-last-frame-cover-canvas",a="data-dh-last-frame-cover";function d(i){var o=i.autoChromaKey,a=void 0!==o&&o,d=i.autoplay,r=void 0===d||d;if(document.getElementById(n))return console.error('DOM with id "'.concat(n,'" already exists.')),null;var l=document.createElement("div");l.className=t,l.id=t,l.style.position="relative";var c=document.createElement("video");if(c.id=n,c.width=0,c.height=0,c.setAttribute("width","100%"),c.setAttribute("height","100%"),c.setAttribute("data-playing","true"),c.setAttribute("playsinline",""),r&&c.setAttribute("autoplay",""),l.appendChild(c),a){var u=document.createElement("canvas");u.id=e,Object.assign(u.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",zIndex:"1",display:a?"block":"none"}),c.style.visibility="hidden",l.appendChild(u)}return{playerWrapper:l,video:c}}function r(){if(document.getElementById(e))return!0;var i=document.getElementById(t),o=document.getElementById(n);if(!i||!o)return!1;var a=document.createElement("canvas");return a.id=e,Object.assign(a.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",zIndex:"1",display:"block"}),o.style.visibility="hidden",i.appendChild(a),!0}function l(e){if(e&&!e.querySelector("[".concat(a,'="1"]'))){var t=document.createElement("div");t.className="".concat(i," "),t.setAttribute(a,"1");var n=document.createElement("canvas");n.id=o,Object.assign(n.style,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",objectFit:"cover",display:"block",zIndex:"0"}),t.appendChild(n),e.appendChild(t)}}function c(){var t=document.getElementById(o);if(!t)return!1;var i=t.getContext("2d");if(!i)return!1;var a=document.getElementById(e),d=document.getElementById(n);return a&&a.width>0&&a.height>0?(t.width=a.width,t.height=a.height,i.drawImage(a,0,0),!0):!!(d&&d.videoWidth>0&&d.videoHeight>0)&&(t.width=d.videoWidth,t.height=d.videoHeight,i.drawImage(d,0,0,d.videoWidth,d.videoHeight),!0)}function u(e){var n=document.getElementById(t);n&&(n.style.visibility=e?"visible":"hidden",n.style.pointerEvents=e?"":"none")}function h(e){var t=document.getElementById(o),n=null==t?void 0:t.parentNode;n&&(n.style.visibility=e?"visible":"hidden")}function s(){var e=document.querySelector("[".concat(a,'="1"]'));null!=e&&e.parentNode&&e.parentNode.removeChild(e)}function v(){var e=document.getElementById(t);e&&e.parentNode&&e.parentNode.removeChild(e)}function m(e){var t=document.getElementById(n);return t&&(t.muted=e),t}function p(e){var t=document.getElementById(n);try{if(t)return e?t.play():t.pause()}catch(e){console.info(e)}}function y(){var e=navigator.userAgent||navigator.vendor;return/huawei/i.test(e)||/honor/i.test(e)}function g(){var e=document.createElement("style");e.appendChild(document.createTextNode('\n [id^="videoremote1-"] {\n display: none !important;\n }\n \n video#remotevideo500 {\n width: auto !important;\n height: auto !important;\n max-width: 100% !important;\n max-height: 100% !important;\n width: 100% !important;\n height: 100% !important;\n object-fit: cover;\n }\n\n .cloud-brtc-player-wrapper {\n width: inherit !important;\n background-size: cover;\n height: inherit;\n display: flex;\n justify-content: center;\n }\n\n #starling-cutout-canvas {\n object-fit: cover;\n }\n\n [data-dh-last-frame-cover="1"] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 1;\n visibility: hidden;\n }\n\n [data-dh-last-frame-cover="1"] canvas {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n ')),document.head.appendChild(e)}export{e as DEFAULT_CANVAS_ID,t as HUMAN_WRAPPER_ID,i as LAST_FRAME_COVER_CANVAS_CLASS,o as LAST_FRAME_COVER_INNER_CANVAS_ID,n as RTC_VIDEO_ID,l as appendLastFrameCoverSibling,g as appendRtcDomStyle,c as captureLastFrameToCover,y as checkIsHuawei,d as createHumanDom,r as ensureCutoutDomMounted,m as muteHumanVideo,p as playHumanVideo,v as removeHumanDom,s as removeLastFrameCoverWrapper,u as setHumanPlayerWrapperVisible,h as setLastFrameCoverVisible};
|
package/es/RecordController.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as
|
|
1
|
+
import{createClass as t,asyncToGenerator as e,regeneratorRuntime as r,objectSpread2 as o,classCallCheck as a,defineProperty as i}from"./_virtual/_rollupPluginBabelHelpers.js";function n(t,e,r,o){try{for(var a=(o=o||{})&&"number"==typeof o.index?o.index:0,i=o&&"number"==typeof o.offset?o.offset:0,n=0,s=a;s<t.length;s++)n+=t[s].length;n=Math.max(0,n-Math.floor(i));var c=e/r;c>1?n=Math.floor(n/c):(c=1,r=e);for(var u=new Int16Array(n),h=0,d=t.length;a<d;a++){for(var p=t[a],l=i,f=p.length;l<f;){var m=Math.floor(l),v=Math.ceil(l),x=l-m;u[h]=p[m]+(p[v]-p[m])*x,h++,l+=c}i=l-f}return{index:a,offset:i,sampleRate:r,data:u}}catch(t){console.log("转音错误了",t)}}function s(t){for(var e=t,r=new Int16Array(t.length),o=0;o<e.length;o++){var a=Math.max(-1,Math.min(1,e[o]));r[o]=a<0?32768*a:32767*a}return r}var c=function(c,u){function h(t){a(this,h),i(this,"onAudioData",void 0),i(this,"onError",void 0),i(this,"audioContext",null),i(this,"processor",null),i(this,"mediaStream",null),i(this,"recording",!1),i(this,"audio3AConstraints",void 0),i(this,"asrSample",void 0),this.onAudioData=t.onAudioData,this.onError=t.onError,this.audio3AConstraints=t.audio3AConstraints,this.asrSample=t.asrSample,this.preWarmStream()}return t(h,[{key:"preWarmStream",value:function(){return(c=c||e(r().mark((function t(){var e,a,i;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,a=window.AudioContext||window.webkitAudioContext){t.next=4;break}throw new Error("当前环境不支持web api: AudioContext");case 4:if(null!==(e=navigator.mediaDevices)&&void 0!==e&&e.getUserMedia){t.next=6;break}throw new Error("当前环境不支持web api: getUserMedia");case 6:return this.audioContext=new a({sampleRate:this.asrSample||16e3}),t.next=9,navigator.mediaDevices.getUserMedia({audio:o({echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0},this.audio3AConstraints),video:!1});case 9:this.mediaStream=t.sent,i=this.audioContext.createMediaStreamSource(this.mediaStream),this.processor=this.audioContext.createScriptProcessor(1024,1,1),i.connect(this.processor),this.processor.connect(this.audioContext.destination),this.processor.onaudioprocess=function(){},t.next=20;break;case 17:t.prev=17,t.t0=t.catch(0),console.error("preWarmStream error",t.t0);case 20:case"end":return t.stop()}}),t,this,[[0,17]])})))).apply(this,arguments)}},{key:"start",value:function(){return(u=u||e(r().mark((function t(){var e=this;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.recording){t.next=2;break}return t.abrupt("return");case 2:if(this.audioContext&&this.processor){t.next=4;break}return t.abrupt("return");case 4:try{this.processor.onaudioprocess=function(t){if(e.recording){var r=n([s(t.inputBuffer.getChannelData(0))],e.audioContext.sampleRate,e.asrSample||16e3,null);r&&r.data&&e.onAudioData(r.data.buffer)}},this.recording=!0}catch(t){this.onError&&this.onError(t)}case 5:case"end":return t.stop()}}),t,this)})))).apply(this,arguments)}},{key:"stop",value:function(){this.recording=!1,this.processor.onaudioprocess=function(){}}},{key:"destroy",value:function(){this.recording=!1,this.processor&&(this.processor.disconnect(),this.processor.onaudioprocess=null),this.audioContext&&this.audioContext.close(),this.mediaStream&&this.mediaStream.getTracks().forEach((function(t){t.stop()}))}}]),h}();export{c as default};
|
package/es/Server.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export interface RenderCallbackRes {
|
|
|
44
44
|
}
|
|
45
45
|
interface ServerOptions {
|
|
46
46
|
checkHeartbeatMismatch?: boolean;
|
|
47
|
+
emitRawStatusMessage?: boolean;
|
|
47
48
|
}
|
|
48
49
|
export type RenderCallback = (res: RenderCallbackRes) => void;
|
|
49
50
|
export declare const CONNECTING_STUCK_MS_DEFAULT: number;
|
|
@@ -61,7 +62,9 @@ declare class Server {
|
|
|
61
62
|
private lastReportedReadyState;
|
|
62
63
|
private lastHbAckTs;
|
|
63
64
|
private readonly checkHeartbeatMismatch;
|
|
65
|
+
private emitRawStatusMessage;
|
|
64
66
|
constructor(url: string, options?: ServerOptions);
|
|
67
|
+
setEmitRawStatusMessage(value: boolean): void;
|
|
65
68
|
sendPreConnect: (props: createSocketParamsType, resolve?: ((value: any) => void) | undefined) => void;
|
|
66
69
|
createSocket: (props: createSocketParamsType, isPreOpenSession?: boolean) => Promise<WebSocketClient | null>;
|
|
67
70
|
sendConnect: (props: createSocketParamsType) => void;
|
package/es/Server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as
|
|
1
|
+
import{createClass as e,asyncToGenerator as t,regeneratorRuntime as n,typeof as r,classCallCheck as s,defineProperty as c,objectSpread2 as o}from"./_virtual/_rollupPluginBabelHelpers.js";import{v4 as a}from"uuid";import{createWebSocket as i}from"@bddh/starling-web-socket/es/create-web-socket";import u from"lodash/pick";import l from"lodash/omit";import h from"lodash/get";import{errorTypeEnum as d,CONNECT_MAIN_KEY as m,statusEnum as S,WS_STATUS_MAP as p}from"./interface.js";var f=3e4,k=function(f){function k(e,r){var f,v=this;s(this,k),c(this,"dhServerSocket",null),c(this,"preConnectSuccess",!1),c(this,"connectParams",null),c(this,"socketClosingPromise",null),c(this,"url",void 0),c(this,"firstConnect",!0),c(this,"connectingTimer",null),c(this,"connectingMs",3e4),c(this,"lastPreOpen",!1),c(this,"reconnectingTimeout",!1),c(this,"lastReportedReadyState",-1),c(this,"lastHbAckTs",0),c(this,"checkHeartbeatMismatch",void 0),c(this,"emitRawStatusMessage",void 0),c(this,"sendPreConnect",(function(e,t){var n,r=e.token,s=e.sessionId,c=e.onConnect;null===(n=v.dhServerSocket)||void 0===n||n.request({action:"RE_CONNECT",requestId:a(),body:JSON.stringify({token:r,sessionId:s})}).on((function(e,n){null==c||c(e),0!==e.code&&(n(),v.handleConnect()),null==t||t(v.dhServerSocket)})),v.firstConnect=!1})),c(this,"createSocket",(function(e,r){return(f=f||t(n().mark((function e(t,r){var s,c;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(v.connectParams=t,v.lastPreOpen=!!r,s=t.sessionId,c=t.onDigitalHumanCallback,!v.socketClosingPromise){e.next=6;break}return e.next=6,v.socketClosingPromise;case 6:if(!v.dhServerSocket){e.next=9;break}return e.next=9,v.closeSocket();case 9:return e.abrupt("return",new Promise((function(e,n){var o=!1,a=function(t){o||(o=!0,e(t))},u={keepAlive:"heartbeat",checkHeartbeatMismatch:v.checkHeartbeatMismatch,reopen:h(v.connectParams,"reConnect",!0),getKeepAliveMessage:function(e){return{requestId:e,action:"HEART_BEAT",body:"".concat(v.lastHbAckTs),clientTs:Date.now()}},combine:function(e,t){return e&&t&&e.requestId===t.requestId},onOpen:function(){v.dhServerSocket=l,a(v.dhServerSocket),s&&v.firstConnect?v.sendPreConnect(t,a):r&&v.firstConnect||v.handleConnect()},onClose:function(){v.dhServerSocket=null,v.socketClosingPromise=null,a(null)},onError:function(e){n(e)}},l=i(v.url,u);l.onReadyStateChange((function(e){v.lastReportedReadyState=e,0===e?(v.startConnectingWatch(),c&&c({status:S.DH_LIB_INIT})):(v.clearConnectingWatch(),v.reconnectingTimeout=!1),1===e&&r&&(v.preConnectSuccess=!0),3===e&&(v.preConnectSuccess=!1),c&&c({status:S.DH_LIB_FULL_STATUS,content:{type:"wsState",readyState:e,body:p[e]}})})),l.onMessage((function(e){var t=e.action;"HEART_BEAT"===t&&(v.lastHbAckTs=Date.now()),[d.TIMEOUT_EXIT,d.DISCONNECT_ALERT].includes(t)&&(c&&c({status:S.DH_LIB_STATUS,content:{type:t}}),v.emitRawStatusMessage&&c&&c({status:S.DH_LIB_MESSAGE,content:e})),[d.TIMEOUT_EXIT,d.DISCONNECT_ALERT,"HEART_BEAT","CONNECT"].includes(t)||c&&c({status:S.DH_LIB_MESSAGE,content:e})})),v.dhServerSocket=l,l.open()})));case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)})),c(this,"sendConnect",(function(e){v.connectParams=e,v.dhServerSocket&&v.handleConnect()})),c(this,"closeSocket",t(n().mark((function e(){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(v.resetState(),v.dhServerSocket){e.next=3;break}return e.abrupt("return");case 3:return v.socketClosingPromise=v.dhServerSocket.close(),e.next=6,v.socketClosingPromise;case 6:v.dhServerSocket=null;case 7:case"end":return e.stop()}}),e)})))),c(this,"handleConnect",t(n().mark((function e(){var t,r,s,c,i,h;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(v.connectParams){e.next=2;break}return e.abrupt("return");case 2:if(t=v.connectParams,r=t.appId,s=t.appKey,c=t.token,i=t.parameters,h=t.onConnect,r||s||c){e.next=5;break}return e.abrupt("return");case 5:v.dhServerSocket&&v.dhServerSocket.request({action:"CONNECT",clientTs:(new Date).getTime(),requestId:a(),body:JSON.stringify(o(o({token:c,appId:r,appKey:s},u(v.connectParams,m)),{},{parameters:o(o({},l(i,["parameters"])),i&&i.parameters?i.parameters:{})}))}).on((function(e,t){null==h||h(e),0!==e.code&&t()}));case 6:case"end":return e.stop()}}),e)}))));var T=r||{},C=T.checkHeartbeatMismatch,g=T.emitRawStatusMessage,b=void 0!==g&&g;this.url=e,this.checkHeartbeatMismatch=null!=C&&C,this.emitRawStatusMessage=b}return e(k,[{key:"setEmitRawStatusMessage",value:function(e){this.emitRawStatusMessage=e}},{key:"sendMessage",value:function(e,s){return(f=f||t(n().mark((function e(t,s){var c;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{this.dhServerSocket&&this.dhServerSocket&&this.dhServerSocket.request(t).on((function(e){s&&s(e)}))}catch(e){c="object"===r(t)&&"requestId"in t?t.requestId:a(),s&&s({code:-11,body:null,action:"RENDER_ERROR",requestId:c,message:JSON.stringify(e)})}case 1:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}},{key:"startConnectingWatch",value:function(){var e=this;this.connectingTimer||this.reconnectingTimeout||(this.connectingTimer=setTimeout(t(n().mark((function t(){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.connectingTimer=null,e.dhServerSocket&&0===e.lastReportedReadyState){t.next=3;break}return t.abrupt("return");case 3:if(console.warn("reconnect from CONNECTING timeout"),e.reconnectingTimeout=!0,t.prev=5,!e.connectParams){t.next=9;break}return t.next=9,e.createSocket(e.connectParams,e.lastPreOpen);case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(5),console.error("reconnect from CONNECTING timeout failed",t.t0);case 14:return t.prev=14,e.reconnectingTimeout=!1,t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[5,11,14,17]])}))),this.connectingMs))}},{key:"clearConnectingWatch",value:function(){this.connectingTimer&&(clearTimeout(this.connectingTimer),this.connectingTimer=null)}},{key:"resetState",value:function(){this.clearConnectingWatch(),this.reconnectingTimeout=!1,this.lastReportedReadyState=-1,this.lastHbAckTs=0}}]),k}();export{f as CONNECTING_STUCK_MS_DEFAULT,k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread2(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}catch(t){define=function(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,(function(){return this}));var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach((function(e){define(t,e,(function(t){return this._invoke(e,t)}))}))}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){invoke("next",t,i,a)}),(function(t){invoke("throw",t,i,a)})):e.resolve(h).then((function(t){u.value=t,i(u)}),(function(t){return invoke("throw",t,i,a)}))}a(c.arg)}var r;o(this,"_invoke",{value:function(t,n){function callInvokeWithMethodAndArg(){return new e((function(e,r){invoke(t,n,e,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,(function(){return this})),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,(function(){return this})),define(g,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),Constructor}function _defineProperty(obj,key,value){return(key=_toPropertyKey(key))in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _toPrimitive(input,hint){if("object"!=typeof input||null===input)return input;var prim=input[Symbol.toPrimitive];if(void 0!==prim){var res=prim.call(input,hint||"default");if("object"!=typeof res)return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===hint?String:Number)(input)}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return"symbol"==typeof key?key:String(key)}export{_asyncToGenerator as asyncToGenerator,_classCallCheck as classCallCheck,_createClass as createClass,_defineProperty as defineProperty,_objectSpread2 as objectSpread2,_regeneratorRuntime as regeneratorRuntime,_toPrimitive as toPrimitive,_toPropertyKey as toPropertyKey,_typeof as typeof};
|
|
1
|
+
function t(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function r(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){f(r,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(n,t))}))}return r}function e(){e=function(){return r};var t,r={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(t,r,e){t[r]=e.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",f=a.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function s(t,r,e,n){var o=r&&r.prototype instanceof m?r:m,a=Object.create(o.prototype),c=new N(n||[]);return i(a,"_invoke",{value:S(t,e,c)}),a}function h(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}r.wrap=s;var p="suspendedStart",y="suspendedYield",v="executing",g="completed",d={};function m(){}function b(){}function w(){}var O={};l(O,c,(function(){return this}));var j=Object.getPrototypeOf,L=j&&j(j(T([])));L&&L!==n&&o.call(L,c)&&(O=L);var E=w.prototype=m.prototype=Object.create(O);function x(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function P(t,r){function e(n,i,a,c){var u=h(t[n],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return e("throw",t,a,c)}))}c(u.arg)}var n;i(this,"_invoke",{value:function(t,o){function i(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(i,i):i()}})}function S(r,e,n){var o=p;return function(i,a){if(o===v)throw new Error("Generator is already running");if(o===g){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=_(c,n);if(u){if(u===d)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var f=h(r,e,n);if("normal"===f.type){if(o=n.done?g:y,f.arg===d)continue;return{value:f.arg,done:n.done}}"throw"===f.type&&(o=g,n.method="throw",n.arg=f.arg)}}}function _(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,_(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=h(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var a=i.arg;return a?a.done?(e[r.resultName]=a.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,d):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function k(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function G(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function T(r){if(r||""===r){var e=r[c];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,i=function e(){for(;++n<r.length;)if(o.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=t,e.done=!0,e};return i.next=i}}throw new TypeError(typeof r+" is not iterable")}return b.prototype=w,i(E,"constructor",{value:w,configurable:!0}),i(w,"constructor",{value:b,configurable:!0}),b.displayName=l(w,f,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===b||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,f,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},x(P.prototype),l(P.prototype,u,(function(){return this})),r.AsyncIterator=P,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new P(s(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},x(E),l(E,f,"Generator"),l(E,c,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=T,N.prototype={constructor:N,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(G),!r)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(n,o){return c.type="throw",c.arg=r,e.next=n,o&&(e.method="next",e.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=o.call(a,"catchLoc"),f=o.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),d},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),G(e),d}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;G(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:T(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),d}},r}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,r,e,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void e(t)}c.done?r(u):Promise.resolve(u).then(n,o)}function i(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function c(t){o(a,n,i,c,u,"next",t)}function u(t){o(a,n,i,c,u,"throw",t)}c(void 0)}))}}function a(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function c(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,s(n.key),n)}}function u(t,r,e){return r&&c(t.prototype,r),e&&c(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function f(t,r,e){return(r=s(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function l(t,r){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function s(t){var r=l(t,"string");return"symbol"==typeof r?r:String(r)}export{i as asyncToGenerator,a as classCallCheck,u as createClass,f as defineProperty,r as objectSpread2,e as regeneratorRuntime,l as toPrimitive,s as toPropertyKey,n as typeof};
|
package/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import r from"./Client.js";export{CONNECT_MAIN_KEY,WS_STATUS_MAP,errorTypeEnum,statusEnum}from"./interface.js";export{r as default};
|
package/es/interface.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChromaEffectOptions } from '@bddh/starling-cutout/es/interface';
|
|
1
2
|
import { RtcConnectionType } from './BrtcClient';
|
|
2
3
|
export interface ConnectDataType {
|
|
3
4
|
action: string;
|
|
@@ -68,7 +69,6 @@ export interface RenderParamsType {
|
|
|
68
69
|
closeLog?: boolean;
|
|
69
70
|
fullStatus?: boolean;
|
|
70
71
|
audio3AConstraints?: Mic3AType;
|
|
71
|
-
enableLastFrameCover?: boolean;
|
|
72
72
|
}
|
|
73
73
|
export declare enum statusEnum {
|
|
74
74
|
DH_LIB_INIT = "DH_LIB_INIT",
|
|
@@ -122,6 +122,7 @@ export interface DhRealtimeHumanType {
|
|
|
122
122
|
wsUrl?: string;
|
|
123
123
|
checkHeartbeatMismatch?: boolean;
|
|
124
124
|
rtcServerUrl?: string;
|
|
125
|
+
rtcInternalIp?: string;
|
|
125
126
|
appKey?: string;
|
|
126
127
|
appId?: string;
|
|
127
128
|
wrapperId?: string;
|
|
@@ -129,8 +130,16 @@ export interface DhRealtimeHumanType {
|
|
|
129
130
|
renderParams?: RenderParamsType;
|
|
130
131
|
rtcConnectParams?: RtcConnectionType;
|
|
131
132
|
brtcParams?: any;
|
|
133
|
+
remoteAutoPlay?: boolean;
|
|
134
|
+
mergeConnectRtcExtras?: boolean;
|
|
135
|
+
emitRawStatusMessage?: boolean;
|
|
136
|
+
resolveMediaServerByDomain?: (domain: string) => Promise<string>;
|
|
132
137
|
isPreOpenSession?: boolean;
|
|
133
138
|
isOpenWsOnly?: boolean;
|
|
134
139
|
onDigitalHumanCallback: (data: CallbackMsgType) => void;
|
|
135
140
|
}
|
|
141
|
+
export interface EffectsType {
|
|
142
|
+
chromaKey?: Partial<ChromaEffectOptions>;
|
|
143
|
+
version?: number;
|
|
144
|
+
}
|
|
136
145
|
export {};
|
package/es/interface.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _,I,E=["projectId","characterConfigId","configVersion","selectors","figureName","reConnect"];!function(_){_.DH_LIB_INIT="DH_LIB_INIT",_.DH_LIB_WS_SUCCESS="DH_LIB_WS_SUCCESS",_.DH_LIB_OPEN="DH_LIB_OPEN",_.DH_LIB_STATUS="DH_LIB_STATUS",_.DH_LIB_CLOSE="DH_LIB_CLOSE",_.DH_LIB_ERROR="DH_LIB_ERROR",_.DH_LIB_WARNING="DH_LIB_WARNING",_.DH_LIB_FULL_STATUS="DH_LIB_FULL_STATUS",_.DH_LIB_MESSAGE="DH_LIB_MESSAGE"}(_||(_={})),function(_){_.CONNECT_ERROR="CONNECT_ERROR",_.DISCONNECT_ALERT="DISCONNECT_ALERT",_.TIMEOUT_EXIT="TIMEOUT_EXIT",_.LOCAL_VIDEO_MUTED="LOCAL_VIDEO_MUTED",_.LOCAL_VIDEO_ERROR="LOCAL_VIDEO_ERROR",_.RTC_ERROR="RTC_ERROR"}(I||(I={}));var L={"-1":"UNINSTANTIATED",0:"CONNECTING",1:"OPEN",2:"CLOSING",3:"CLOSED"};export{E as CONNECT_MAIN_KEY,L as WS_STATUS_MAP,I as errorTypeEnum,_ as statusEnum};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bddh/starling-realtime-client",
|
|
3
|
-
"version": "2.0.11-beta.
|
|
3
|
+
"version": "2.0.11-beta.2",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"react",
|
|
6
6
|
"indexDB"
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"lodash": "^4.17.21",
|
|
45
45
|
"uuid": "^9.0.0"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "6953cbfa8a7f561bf97e664c310a8610b0a860ad"
|
|
48
48
|
}
|