UNPKG

@rongcloud/plugin-call-plus

Version:

@rongcloud/plugin-call-plus

2 lines (1 loc) 33.7 kB
import{EventEmitter as e,ConversationType as _,ErrorCode as i,VersionManage as t,isUndefined as E,LogL as s}from"@rongcloud/engine";import{RCCallPlusSessionUserState as n,RCCallPlusCallState as o,RCCallPlusCode as r,RCCallPlusReason as l,RCCallPlusMediaType as a,RCCallPlusType as I,RCCallPlusMediaTypeChangeResult as R}from"@rongcloud/plugin-call-plus";function C(e,_,i,t){return new(i||(i=Promise))(function(E,s){function n(e){try{r(t.next(e))}catch(e){s(e)}}function o(e){try{r(t.throw(e))}catch(e){s(e)}}function r(e){var _;e.done?E(e.value):(_=e.value,_ instanceof i?_:new i(function(e){e(_)})).then(n,o)}r((t=t.apply(e,_||[])).next())})}var L,O,N,c,d;"function"==typeof SuppressedError&&SuppressedError;!function(e){e[e.AUDIO=1]="AUDIO",e[e.AUDIO_VIDEO=2]="AUDIO_VIDEO"}(L||(L={})),function(e){e[e.SUCCESS=1e4]="SUCCESS",e[e.STATE_MACHINE_EXIT=53200]="STATE_MACHINE_EXIT",e[e.SEND_MSG_ERROR=53201]="SEND_MSG_ERROR",e[e.REJECTED_BY_BLACKLIST=53202]="REJECTED_BY_BLACKLIST",e[e.NOT_IN_GROUP=53203]="NOT_IN_GROUP",e[e.GET_LOCAL_AUDIO_TRACK_ERROR=53301]="GET_LOCAL_AUDIO_TRACK_ERROR",e[e.GET_LOCAL_VIDEO_TRACK_ERROR=53302]="GET_LOCAL_VIDEO_TRACK_ERROR",e[e.GET_LOCAL_AUDIO_AND_VIDEO_TRACK_ERROR=53303]="GET_LOCAL_AUDIO_AND_VIDEO_TRACK_ERROR",e[e.JOIN_ROOM_ERROR=53304]="JOIN_ROOM_ERROR",e[e.AUDIO_PUBLISH_ERROR=53305]="AUDIO_PUBLISH_ERROR",e[e.VIDEO_PUBLISH_ERROR=53306]="VIDEO_PUBLISH_ERROR",e[e.AUDIO_AND_VIDEO_PUBLISH_ERROR=53307]="AUDIO_AND_VIDEO_PUBLISH_ERROR",e[e.QUERY_JOINED_USER_INFO_ERROR=53308]="QUERY_JOINED_USER_INFO_ERROR",e[e.MISSING_VIDEO_TRACK_ERROR=53309]="MISSING_VIDEO_TRACK_ERROR",e[e.UNPUBLISH_VIDEO_ERROR=53310]="UNPUBLISH_VIDEO_ERROR",e[e.CONVERSATION_NOT_GROUP_ERROR=53311]="CONVERSATION_NOT_GROUP_ERROR",e[e.NOT_IN_ROOM_ERROR=53312]="NOT_IN_ROOM_ERROR",e[e.PARAM_ERROR=53313]="PARAM_ERROR",e[e.NOT_IN_CALL=53314]="NOT_IN_CALL",e[e.MEDIATYPE_INVALID=53315]="MEDIATYPE_INVALID",e[e.NOT_VIDEO_CALL=53316]="NOT_VIDEO_CALL",e[e.RTC_SERVICE_UNAVAILABLE=53317]="RTC_SERVICE_UNAVAILABLE",e[e.USER_LIST_INVAILD=53318]="USER_LIST_INVAILD",e[e.CALL_ID_INVALID=53319]="CALL_ID_INVALID",e[e.TRANSACTION_ID_INVALID=53320]="TRANSACTION_ID_INVALID",e[e.USER_ID_INVALID=53321]="USER_ID_INVALID",e[e.SINGLE_CALL_NOT_SUPPORT_MULTI_PERSON=53322]="SINGLE_CALL_NOT_SUPPORT_MULTI_PERSON",e[e.MICROPHONE_CLOSED=53323]="MICROPHONE_CLOSED",e[e.MEDIA_RESOURCE_INVALIED=53324]="MEDIA_RESOURCE_INVALIED",e[e.NOT_INSTALL_RTC_PLUGIN=53325]="NOT_INSTALL_RTC_PLUGIN",e[e.PLAY_MEDIA_FAILED=53326]="PLAY_MEDIA_FAILED",e[e.VIDEO_VIEW_NOT_SET=53327]="VIDEO_VIEW_NOT_SET"}(O||(O={})),function(e){e[e.NONE=0]="NONE",e[e.WAITING=1]="WAITING",e[e.KEEPING=2]="KEEPING"}(N||(N={})),function(e){e[e.WAITING=0]="WAITING",e[e.KEEPING=1]="KEEPING",e[e.END=2]="END"}(c||(c={})),function(e){e[e.CANCEL=1]="CANCEL",e[e.REJECT=2]="REJECT",e[e.HANGUP=3]="HANGUP",e[e.BUSY_LINE=4]="BUSY_LINE",e[e.NO_RESPONSE=5]="NO_RESPONSE",e[e.ENGINE_UNSUPPORTED=6]="ENGINE_UNSUPPORTED",e[e.NETWORK_ERROR=7]="NETWORK_ERROR",e[e.GET_MEDIA_RESOURCES_ERROR=8]="GET_MEDIA_RESOURCES_ERROR",e[e.PUBLISH_ERROR=9]="PUBLISH_ERROR",e[e.SUBSCRIBE_ERROR=10]="SUBSCRIBE_ERROR",e[e.REMOTE_CANCEL=11]="REMOTE_CANCEL",e[e.REMOTE_REJECT=12]="REMOTE_REJECT",e[e.REMOTE_HANGUP=13]="REMOTE_HANGUP",e[e.REMOTE_BUSY_LINE=14]="REMOTE_BUSY_LINE",e[e.REMOTE_NO_RESPONSE=15]="REMOTE_NO_RESPONSE",e[e.REMOTE_ENGINE_UNSUPPORTED=16]="REMOTE_ENGINE_UNSUPPORTED",e[e.REMOTE_NETWORK_ERROR=17]="REMOTE_NETWORK_ERROR",e[e.REMOTE_GET_MEDIA_RESOURCE_ERROR=18]="REMOTE_GET_MEDIA_RESOURCE_ERROR",e[e.REMOTE_PUBLISH_ERROR=19]="REMOTE_PUBLISH_ERROR",e[e.REMOTE_SUBSCRIBE_ERROR=20]="REMOTE_SUBSCRIBE_ERROR",e[e.OTHER_CLIENT_JOINED_CALL=21]="OTHER_CLIENT_JOINED_CALL",e[e.OTHER_CLIENT_IN_CALL=22]="OTHER_CLIENT_IN_CALL",e[e.KICKED_BY_SERVER=23]="KICKED_BY_SERVER",e[e.ACCEPT_SYSTEM_CALL=24]="ACCEPT_SYSTEM_CALL",e[e.REMOTE_OTHER_CLIENT_JOINED_CALL=31]="REMOTE_OTHER_CLIENT_JOINED_CALL",e[e.REMOTE_OTHER_CLIENT_IN_CALL=32]="REMOTE_OTHER_CLIENT_IN_CALL",e[e.REMOTE_KICKED_BY_SERVER=33]="REMOTE_KICKED_BY_SERVER",e[e.REMOTE_ACCEPT_SYSTEM_CALL=34]="REMOTE_ACCEPT_SYSTEM_CALL",e[e.ACCEPT_BY_OTHER_CLIENT=101]="ACCEPT_BY_OTHER_CLIENT",e[e.HANGUP_BY_OTHER_CLIENT=102]="HANGUP_BY_OTHER_CLIENT",e[e.ADDED_TO_BLACKLIST=103]="ADDED_TO_BLACKLIST",e[e.SERVICE_NOT_OPENED=104]="SERVICE_NOT_OPENED"}(d||(d={}));d.CANCEL,d.REMOTE_CANCEL,d.REJECT,d.REMOTE_REJECT,d.HANGUP,d.REMOTE_HANGUP,d.BUSY_LINE,d.REMOTE_BUSY_LINE,d.NO_RESPONSE,d.REMOTE_NO_RESPONSE,d.ENGINE_UNSUPPORTED,d.REMOTE_ENGINE_UNSUPPORTED,d.NETWORK_ERROR,d.REMOTE_NETWORK_ERROR,d.GET_MEDIA_RESOURCES_ERROR,d.REMOTE_GET_MEDIA_RESOURCE_ERROR,d.PUBLISH_ERROR,d.REMOTE_PUBLISH_ERROR,d.SUBSCRIBE_ERROR,d.REMOTE_SUBSCRIBE_ERROR,d.OTHER_CLIENT_JOINED_CALL,d.REMOTE_OTHER_CLIENT_JOINED_CALL,d.OTHER_CLIENT_IN_CALL,d.REMOTE_OTHER_CLIENT_IN_CALL,d.KICKED_BY_SERVER,d.REMOTE_KICKED_BY_SERVER,d.REMOTE_NO_RESPONSE,d.NO_RESPONSE,d.ACCEPT_SYSTEM_CALL,d.REMOTE_ACCEPT_SYSTEM_CALL;const T=e=>{let _=null;switch(e){case n.IDLE:_=N.NONE;break;case n.CALLING:case n.INVITED:case n.RINGING:_=N.WAITING;break;case n.BUSYLINE_RINGING:case n.BUSYLINE_WAIT:_=N.NONE;break;case n.CONNECTING:_=N.WAITING;break;case n.ONCALL:_=N.KEEPING;break;case n.ONPHONE:_=N.WAITING;break;case n.ENDED:case n.NO_ANSWER:case n.MISSED:case n.CANCELLED:case n.DECLINED:case n.ERROR:default:_=N.NONE}return _},S=e=>{let _=null;switch(e){case r.SUCCESS:_=O.SUCCESS;break;case r.PARAM_ERROR:_=O.PARAM_ERROR;break;case r.SESSION_EXIST:_=O.STATE_MACHINE_EXIT;break;case r.NOT_IN_CALL:_=O.NOT_IN_CALL;break;case r.MEDIATYPE_INVALID:_=O.MEDIATYPE_INVALID;break;case r.NOT_VIDEO_CALL:_=O.NOT_VIDEO_CALL;break;case r.RTC_SERVICE_UNAVAILABLE:_=O.RTC_SERVICE_UNAVAILABLE;break;case r.USER_LIST_INVAILD:_=O.USER_LIST_INVAILD;break;case r.CALL_ID_INVALID:_=O.CALL_ID_INVALID;break;case r.TRANSACTION_ID_INVALID:_=O.TRANSACTION_ID_INVALID;break;case r.USER_ID_INVALID:_=O.USER_ID_INVALID;break;case r.SINGLE_CALL_NOT_SUPPORT_MULTI_PERSON:_=O.SINGLE_CALL_NOT_SUPPORT_MULTI_PERSON;break;case r.CAMERA_CLOSED:_=O.MISSING_VIDEO_TRACK_ERROR;break;case r.MICROPHONE_CLOSED:_=O.MICROPHONE_CLOSED;break;case r.MEDIA_RESOURCE_INVALIED:_=O.MEDIA_RESOURCE_INVALIED;break;case r.NOT_INSTALL_RTC_PLUGIN:_=O.NOT_INSTALL_RTC_PLUGIN;break;case r.PLAY_MEDIA_FAILED:_=O.PLAY_MEDIA_FAILED;break;case r.VIDEO_VIEW_NOT_SET:_=O.VIDEO_VIEW_NOT_SET;break;default:_=e}return _},u=(e,_)=>{let i=null;switch(e){case l.BUSYLINE_RINGING:i=_?d.BUSY_LINE:d.REMOTE_BUSY_LINE;break;case l.ON_DEVICE_DISABLE:i=d.REMOTE_GET_MEDIA_RESOURCE_ERROR;break;case l.ENDED:i=_?d.HANGUP:d.REMOTE_HANGUP;break;case l.NO_ANSWER:i=d.REMOTE_NO_RESPONSE;break;case l.MISSED:i=d.NO_RESPONSE;break;case l.CANCELLED:i=_?d.CANCEL:d.REMOTE_CANCEL;break;case l.DECLINED:i=_?d.REJECT:d.REMOTE_REJECT;break;case l.OTHER_CLIENT_ACCEPT:i=d.ACCEPT_BY_OTHER_CLIENT;break;case l.PUBLISH_ERR:i=d.PUBLISH_ERROR;break;case l.SUBSCRIBE_ERR:i=d.SUBSCRIBE_ERROR;break;case l.ACCEPT_CARRIER:i=_?d.ACCEPT_SYSTEM_CALL:d.REMOTE_ACCEPT_SYSTEM_CALL;break;case l.KICKED_BY_SERVER:i=d.KICKED_BY_SERVER;break;case l.CONNECTION_ERR:i=d.NETWORK_ERROR;break;case l.OTHER_CLIENT_JOINED:i=_?d.OTHER_CLIENT_JOINED_CALL:d.REMOTE_OTHER_CLIENT_JOINED_CALL;break;case l.OTHER_CLIENT_IN_ROOM:i=d.OTHER_CLIENT_IN_CALL;break;case l.OTHER_CLIENT_HANGUP:i=d.HANGUP_BY_OTHER_CLIENT;break;case l.REMOTE_PUBLISH_ERROR:i=d.REMOTE_PUBLISH_ERROR;break;case l.REMOTE_SUBSCRIBE_ERROR:i=d.REMOTE_SUBSCRIBE_ERROR;break;case l.REMOTE_KICKED_BY_SERVER:i=d.REMOTE_KICKED_BY_SERVER;break;case l.REMOTE_CONNECTION_ERROR:i=d.REMOTE_NETWORK_ERROR;break;case l.ABNORMAL_END:i=_?d.NETWORK_ERROR:d.REMOTE_NETWORK_ERROR;break;case l.OTHER_CLIENT_CALLING:i=d.REMOTE_OTHER_CLIENT_JOINED_CALL;break;case l.JOIN_ROOM_ERR:i=d.NETWORK_ERROR;break;case l.LOGOUT:i=d.HANGUP;break;case l.OTHER_CLIENT_LOGIN:i=d.NETWORK_ERROR;break;case l.REMOTE_JOIN_RTC_ERROR:i=d.REMOTE_NETWORK_ERROR;break;case l.REMOTE_LOGOUT:i=d.REMOTE_HANGUP;break;case l.REMOTE_OTHER_CLIENT_LOGIN:i=d.REMOTE_NETWORK_ERROR;break;case l.REMOTE_OTHER_JOINED_RTC:i=d.REMOTE_OTHER_CLIENT_JOINED_CALL;break;case l.REMOTE_OTHER_CLIENT_IN_RTC:i=d.REMOTE_OTHER_CLIENT_IN_CALL;break;default:i=d.NETWORK_ERROR}return i};var A,g,h;!function(e){e.L_CALL_PLUS_WRAPPER_INIT_O="L-call_plus_wrapper_init-O",e.L_CALL_CLIENT_REGISTER_USER_INFO_O="L-call_client_register_user_info-O",e.L_CALL_CLIENT_START_CROSS_CALL_O="L-call_client_start_cross_call-O",e.L_CALL_CLIENT_CALL_T="L-call_client_call-T",e.L_CALL_CLIENT_CALL_R="L-call_client_call-R",e.L_CALL_CLIENT_CALL_IN_GROUP_T="L-call_client_call_in_group-T",e.L_CALL_CLIENT_CALL_IN_GROUP_R="L-call_client_call_in_group-R",e.L_CALL_CLIENT_SET_PUSH_CONFIG_O="L-call_client_set_push_config-O",e.L_CALL_SESSION_REGISTER_SESSION_LISTENER_O="L-call_session_register_session_listener-O",e.L_CALL_SESSION_CHANGE_AUDIO_DEVICE_T="L-call_session_change_audio_device-T",e.L_CALL_SESSION_CHANGE_AUDIO_DEVICE_R="L-call_session_change_audio_device-R",e.L_CALL_SESSION_INVITE_T="L-call_session_invite-T",e.L_CALL_SESSION_INVITE_R="L-call_session_invite-R",e.L_CALL_SESSION_ACCEPT_T="L-call_session_accept-T",e.L_CALL_SESSION_ACCEPT_R="L-call_session_accept-R",e.L_CALL_SESSION_HUNGUP_T="L-call_session_hungup-T",e.L_CALL_SESSION_HUNGUP_R="L-call_session_hungup-R",e.L_CALL_SESSION_DESCEND_ABILITY_T="L-call_session_descend_ability-T",e.L_CALL_SESSION_DESCEND_ABILITY_R="L-call_session_descend_ability-R",e.L_CALL_SESSION_DISABLE_VIDEO_TRACK_T="L-call_session_disable_video_track-T",e.L_CALL_SESSION_DISABLE_VIDEO_TRACK_R="L-call_session_disable_video_track-R",e.L_CALL_SESSION_ENABLE_VIDEO_TRACK_T="L-call_session_enable_video_track-T",e.L_CALL_SESSION_ENABLE_VIDEO_TRACK_R="L-call_session_enable_video_track-R",e.L_CALL_SESSION_DISABLE_AUDIO_TRACK_T="L-call_session_disable_audio_track-T",e.L_CALL_SESSION_DISABLE_AUDIO_TRACK_R="L-call_session_disable_audio_track-R",e.L_CALL_SESSION_ENABLE_AUDIO_TRACK_T="L-call_session_enable_audio_track-T",e.L_CALL_SESSION_ENABLE_AUDIO_TRACK_R="L-call_session_enable_audio_track-R",e.L_CALL_EXECUTE_EVENT_LISTENER_O="L-call_execute_event_listener-O",e.L_CALL_CLIENT_GET_JOINED_ROOM_INFO_E="L-call_client_get_joined_room_info-E"}(A||(A={}));class p{constructor(e){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_listener",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}registerEventListener(e){this._listener=e}_callAppListener(e,..._){var i;return C(this,void 0,void 0,function*(){const t=null===(i=this._listener)||void 0===i?void 0:i[e];if(t)try{yield t(..._)}catch(_){this._logger.error(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventName:e,name:_.name,message:_.message}))}})}onRinging(e,_){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onRinging",sender:e,sessionId:_.getSessionId()})),this._callAppListener("onRinging",e,_)}onAccept(e,_){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onAccept",sender:e,sessionId:_.getSessionId()})),this._callAppListener("onAccept",e,_)}onHungup(e,_,i){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onHungup",sender:e,reason:_,sessionId:i.getSessionId()})),this._callAppListener("onHungup",e,_,i)}onMemberModify(e,_,i){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onMemberModify",sender:e,invitedUsers:_,sessionId:i.getSessionId()})),this._callAppListener("onMemberModify",e,_,i)}onMediaModify(e,_,i){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onMediaModify",sender:e,mediaType:_,sessionId:i.getSessionId()})),this._callAppListener("onMediaModify",e,_,i)}onTrackReady(e,_,i){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onTrackReady",userId:e,mediaType:_,sessionId:null==i?void 0:i.getSessionId()})),this._callAppListener("onTrackReady",e,_,i)}onAudioMuteChange(e,_){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onAudioMuteChange",muteUser:e,sessionId:_.getSessionId()})),this._callAppListener("onAudioMuteChange",e,_)}onVideoMuteChange(e,_){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onVideoMuteChange",muteUser:e,sessionId:_.getSessionId()})),this._callAppListener("onVideoMuteChange",e,_)}onTrackSubscribeFail(e,_){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onTrackSubscribeFail",code:e,sessionId:_.getSessionId()})),this._callAppListener("onTrackSubscribeFail",e,_)}onSendPacketLoss(e,_,i){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onSendPacketLoss",sessionId:i.getSessionId()})),this._callAppListener("onSendPacketLoss",e,_,i)}onReceivePacketLoss(e,_){this._logger.info(A.L_CALL_EXECUTE_EVENT_LISTENER_O,JSON.stringify({eventType:"onReceivePacketLoss",sessionId:_.getSessionId()})),this._callAppListener("onReceivePacketLoss",e,_)}}!function(e){e.INNER_ON_RINGING="inner-on-ringing",e.INNER_ON_ACCEPT="inner-on-accept",e.INNER_ON_HANGUP="inner-on-hangup",e.INNER_ON_TRACK_READY="inner-on-track-ready",e.INNER_ON_MEMBER_MODIFY="inner-on-member-modify",e.INNER_ON_MEDIA_MODIFY="inner-on-media-modify",e.INNER_ON_AUDIO_MUTE_CHANGE="inner-on-audio-mute-change",e.INNER_ON_VIDEO_MUTE_CHANGE="inner-on-video-mute-change",e.INNER_ON_TRACK_SUBSCRIBE_FAIL="inner-on-track-subscribe-fail",e.INNER_ON_SELF_HANGUP="inner-on-self-hangup",e.INNER_ON_SEND_PACKET_LOSS="inner-on-send-packet-loss",e.INNER_ON_RECEIVE_PACKET_LOSS="inner-on-receive-packet-loss"}(g||(g={}));class D extends e{constructor(e,_,i,t,E,s,n,o,r){super(),Object.defineProperty(this,"_callId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_callPlusClient",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(this,"_channelId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_targetId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_callType",{enumerable:!0,configurable:!0,writable:!0,value:E}),Object.defineProperty(this,"_mediaType",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_descendResolve",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_audioConfigBuilder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_videoConfigBuilder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_reportAppEventModule",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._audioConfigBuilder=this._callPlusClient.createAudioConfigBuilder(),this._videoConfigBuilder=this._callPlusClient.createVideoConfigBuilder(),this._reportAppEventModule=new p(o)}registerSessionListener(e){this._logger.info(A.L_CALL_SESSION_REGISTER_SESSION_LISTENER_O,Object.keys(e).join(",")),this._reportAppEventModule.registerEventListener(e),this.on(g.INNER_ON_RINGING,(e,_)=>{this._reportAppEventModule.onRinging(e,_)}),this.on(g.INNER_ON_ACCEPT,(e,_)=>{this._reportAppEventModule.onAccept(e,_)}),this.on(g.INNER_ON_HANGUP,(e,_,i)=>{this._reportAppEventModule.onHungup(e,_,i)}),this.on(g.INNER_ON_TRACK_READY,(e,_,i)=>{this._reportAppEventModule.onTrackReady(e,_,i)}),this.on(g.INNER_ON_MEMBER_MODIFY,(e,_,i)=>{this._reportAppEventModule.onMemberModify(e,_,i)}),this.on(g.INNER_ON_MEDIA_MODIFY,(e,_,i,t)=>{this._reportAppEventModule.onMediaModify(e,_,i)}),this.on(g.INNER_ON_AUDIO_MUTE_CHANGE,(e,_)=>{this._reportAppEventModule.onAudioMuteChange(e,_)}),this.on(g.INNER_ON_VIDEO_MUTE_CHANGE,(e,_)=>{this._reportAppEventModule.onVideoMuteChange(e,_)}),this.on(g.INNER_ON_TRACK_SUBSCRIBE_FAIL,(e,_)=>{var i,t;null===(t=(i=this._reportAppEventModule).onTrackSubscribeFail)||void 0===t||t.call(i,e,_)}),this.on(g.INNER_ON_SEND_PACKET_LOSS,(e,_,i)=>{var t,E;null===(E=(t=this._reportAppEventModule).onSendPacketLoss)||void 0===E||E.call(t,e,_,i)}),this.on(g.INNER_ON_RECEIVE_PACKET_LOSS,(e,_)=>{var i,t;null===(t=(i=this._reportAppEventModule).onReceivePacketLoss)||void 0===t||t.call(i,e,_)})}changeAudioDevice(e){return C(this,void 0,void 0,function*(){const _=this._logger.createTraceId();if(this._logger.info(A.L_CALL_SESSION_CHANGE_AUDIO_DEVICE_T,JSON.stringify(e),_),!e)return this._logger.error(A.L_CALL_SESSION_CHANGE_AUDIO_DEVICE_R,`errorCode: ${O.PARAM_ERROR}`,_),{code:O.PARAM_ERROR};const{micphoneId:i,sampleRate:t}=e;this._callPlusClient.setAudioConfig({microphoneId:i,sampleRate:t});const{code:E}=yield this._callPlusClient.switchMicrophone(i);return E!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_CHANGE_AUDIO_DEVICE_R,`errorCode: ${S(E)}`,_),{code:S(E)}):(this._logger.info(A.L_CALL_SESSION_CHANGE_AUDIO_DEVICE_R,"success",_),{code:S(E)})})}invite(e,i={}){return C(this,void 0,void 0,function*(){const t=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_INVITE_T,JSON.stringify({userIds:e,options:i}),t);const E=i.extra,s=JSON.stringify({callLibExtra:E,targetId:this._targetId,channelId:this._channelId,conversationType:_.GROUP}),n=this._options.callPushConfig||i.pushConfig,{code:o}=yield this._callPlusClient.invite(e,n,s);return o!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_INVITE_R,`errorCode: ${S(o)}`,t),{code:S(o)}):(this._logger.info(A.L_CALL_SESSION_INVITE_R,"success",t),{code:S(o)})})}accept(e){return C(this,void 0,void 0,function*(){const _=this._logger.createTraceId();if(this._logger.info(A.L_CALL_SESSION_ACCEPT_T,JSON.stringify(e),_),e){const{audio:_,video:i}=e;(null==_?void 0:_.micphoneId)&&this._audioConfigBuilder.setDefaultMicrophoneId(_.micphoneId),(null==_?void 0:_.sampleRate)&&this._audioConfigBuilder.setSampleRate(_.sampleRate),(null==i?void 0:i.cameraId)&&this._videoConfigBuilder.setDefaultCameraId(i.cameraId),(null==i?void 0:i.frameRate)&&this._videoConfigBuilder.setFrameRate(i.frameRate),(null==i?void 0:i.resolution)&&this._videoConfigBuilder.setVideoResolution(i.resolution)}const i=this._audioConfigBuilder.build(),t=this._videoConfigBuilder.build();this._callPlusClient.setAudioConfig(i),this._callPlusClient.setVideoConfig(t);const{code:E}=yield this._callPlusClient.accept(this._callId,this._options.callPushConfig);return E!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_ACCEPT_R,`errorCode: ${S(E)}`,_),{code:S(E)}):(this._logger.info(A.L_CALL_SESSION_ACCEPT_R,"success",_),{code:S(E)})})}hungup(){return C(this,void 0,void 0,function*(){const e=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_HUNGUP_T,"",e),this.emit(g.INNER_ON_SELF_HANGUP);const{code:_}=yield this._callPlusClient.hangup(this._callId,this._options.hangupPushConfig);return _!==r.SUCCESS?this._logger.error(A.L_CALL_SESSION_HUNGUP_R,`errorCode: ${S(_)}`,e):this._logger.info(A.L_CALL_SESSION_HUNGUP_R,"success",e),{code:S(_)}})}descendAbility(){return C(this,void 0,void 0,function*(){const e=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_DESCEND_ABILITY_T,"",e);const{code:_,transactionId:i}=yield this._callPlusClient.requestChangeMediaType(a.AUDIO);if(_!==r.SUCCESS)return this._logger.error(A.L_CALL_SESSION_DESCEND_ABILITY_R,`errorCode: ${S(_)}`,e),{code:S(_)};const t=yield new Promise(e=>{this._descendResolve[i]=e});return this._logger.info(A.L_CALL_SESSION_DESCEND_ABILITY_R,`transactionId: ${i}`,e),{code:t.code}})}disableVideoTrack(){return C(this,void 0,void 0,function*(){const e=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_DISABLE_VIDEO_TRACK_T,"",e);const{code:_}=yield this._callPlusClient.stopCamera();return _!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_DISABLE_VIDEO_TRACK_R,`errorCode: ${S(_)}`,e),{code:S(_)}):(this._logger.info(A.L_CALL_SESSION_DISABLE_VIDEO_TRACK_R,"success",e),{code:S(_)})})}enableVideoTrack(){return C(this,void 0,void 0,function*(){const e=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_ENABLE_VIDEO_TRACK_T,"",e);const{code:_}=yield this._callPlusClient.startCamera();return _!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_ENABLE_VIDEO_TRACK_R,`errorCode: ${S(_)}`,e),{code:S(_)}):(this._logger.info(A.L_CALL_SESSION_ENABLE_VIDEO_TRACK_R,"success",e),{code:S(_)})})}disableAudioTrack(){return C(this,void 0,void 0,function*(){const e=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_DISABLE_AUDIO_TRACK_T,"",e);const{code:_}=yield this._callPlusClient.stopMicrophone();return _!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_DISABLE_AUDIO_TRACK_R,`errorCode: ${S(_)}`,e),{code:S(_)}):(this._logger.info(A.L_CALL_SESSION_DISABLE_AUDIO_TRACK_R,"success",e),{code:S(_)})})}enableAudioTrack(){return C(this,void 0,void 0,function*(){const e=this._logger.createTraceId();this._logger.info(A.L_CALL_SESSION_ENABLE_AUDIO_TRACK_T,"",e);const{code:_}=yield this._callPlusClient.startMicrophone();return _!==r.SUCCESS?(this._logger.error(A.L_CALL_SESSION_ENABLE_AUDIO_TRACK_R,`errorCode: ${S(_)}`,e),{code:S(_)}):(this._logger.info(A.L_CALL_SESSION_ENABLE_AUDIO_TRACK_R,"success",e),{code:S(_)})})}getSessionId(){return this._callId}getRTCSessionId(){const e=this._callPlusClient.getCurrentCallSession();return this._callId!==(null==e?void 0:e.getCallId())?null:this._callPlusClient.getRTCSessionId()}getTargetId(){return this._targetId}getChannelId(){return this._channelId}getConversationType(){return this._callType}getRemoteUsers(){const e=this._callPlusClient.getCurrentCallSession();if(this._callId!==(null==e?void 0:e.getCallId()))return[];const _=(null==e?void 0:e.getUserList())||[];return null==_?void 0:_.map(({userId:e,state:_})=>({userId:e,state:T(_),isCaller:e===this.getCallerId(),isRemote:e!==this._context.getCurrentId()}))}getUserState(e){const _=this._callPlusClient.getCurrentCallSession();if(this._callId!==(null==_?void 0:_.getCallId()))return N.NONE;const i=null==_?void 0:_.getUserList().filter(_=>_.userId===e)[0].state;return T(i)}getState(){const e=this._callPlusClient.getCurrentCallSession();return(e=>{let _=null;switch(e){case o.IDLE:_=c.END;break;case o.CALLING:case o.INVITED:case o.RINGING:case o.BUSYLINE_RINGING:case o.BUSYLINE_WAIT:_=c.WAITING;break;case o.CONNECTING:case o.ONCALL:_=c.KEEPING;break;case o.ENDED:case o.NOANSWER:case o.MISSED:case o.CANCELED:case o.DECLINED:case o.ERROR:default:_=c.END}return _})(this._callId===(null==e?void 0:e.getCallId())?null==e?void 0:e.getState():o.ENDED)}getCallerId(){const e=this._callPlusClient.getCurrentCallSession();return this._callId!==(null==e?void 0:e.getCallId())?"":e.getCreatorUserId()}getMediaType(){return this._mediaType===a.AUDIO?L.AUDIO:L.AUDIO_VIDEO}__innerEndTranction(e,_){this._mediaType=e,this._descendResolve[_]&&(this._descendResolve[_]({code:O.SUCCESS}),delete this._descendResolve[_])}}class f{constructor(e,_,i){Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_callPlusClient",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_targetId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_channelId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_session",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_sessionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_listener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_mediaType",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_audioConfigBuilder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_videoConfigBuilder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_callPushConfig",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_hangupPushConfig",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_isSelfHangup",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_reportAppEventModule",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._callPlusClient=i.callPlusClient,this._reportAppEventModule=new p(_),this._setCallPlusEventListener(),this._audioConfigBuilder=this._callPlusClient.createAudioConfigBuilder(),this._videoConfigBuilder=this._callPlusClient.createVideoConfigBuilder()}_setCallPlusEventListener(){const e=this;let i=0;const t={},E={};this._callPlusClient.setStatusReportListener({onSendPacketLoss(_,i){var t,E,s;e._listener?null===(E=(t=e._listener).onSendPacketLoss)||void 0===E||E.call(t,_,i,e._session):null===(s=e._session)||void 0===s||s.emit(g.INNER_ON_SEND_PACKET_LOSS,_,i,e._session)},onReceivePacketLoss(_){var i,t,E;e._listener?null===(t=(i=e._listener).onReceivePacketLoss)||void 0===t||t.call(i,_,e._session):null===(E=e._session)||void 0===E||E.emit(g.INNER_ON_RECEIVE_PACKET_LOSS,_,e._session)}}),this._callPlusClient.setCallPlusEventListener({onReceivedCall(i,t="{}"){return C(this,void 0,void 0,function*(){const E=i.getCallId();if(e._session)return void e._callPlusClient.hangup(E,e._hangupPushConfig);e._targetId=JSON.parse(t).targetId||"",e._channelId=JSON.parse(t).channelId||"",e._mediaType=i.getMediaType()===a.AUDIO?L.AUDIO:L.AUDIO_VIDEO;const s=i.getCallType()===I.MULTI?_.GROUP:_.PRIVATE;e._session=new D(E,e._callPlusClient,e._channelId,e._targetId,s,i.getMediaType(),e._context,e._logger,{callPushConfig:e._callPushConfig,hangupPushConfig:e._hangupPushConfig}),e._session.on(g.INNER_ON_SELF_HANGUP,()=>{e._isSelfHangup=!0}),e._options.onSession(e._session,JSON.parse(t).callLibExtra||"")})},onRemoteUserInvited(_,i,t){var E;const s={userId:i},n=_.map(e=>({userId:e}));e._listener?e._reportAppEventModule.onMemberModify(s,n,e._session):null===(E=e._session)||void 0===E||E.emit(g.INNER_ON_MEMBER_MODIFY,s,n,e._session)},onCallConnected(e){const _=e.getCallId();E[_]=!0},onCallTypeChanged(e,_){},onRemoteUserStateChanged(_,i,E,s){var o,r,a;return C(this,void 0,void 0,function*(){const R={userId:i},C=[n.IDLE,n.DECLINED,n.MISSED,n.NO_ANSWER].includes(E);e._listener?(E===n.RINGING&&e._reportAppEventModule.onRinging(R,e._session),E===n.CONNECTING&&e._reportAppEventModule.onAccept(R,e._session),C&&e._reportAppEventModule.onHungup(R,u(s,e._isSelfHangup),e._session)):(E===n.RINGING&&(null===(o=e._session)||void 0===o||o.emit(g.INNER_ON_RINGING,R,e._session)),E===n.CONNECTING&&(null===(r=e._session)||void 0===r||r.emit(g.INNER_ON_ACCEPT,R,e._session)),C&&(null===(a=e._session)||void 0===a||a.emit(g.INNER_ON_HANGUP,R,u(s,e._isSelfHangup),e._session)));const L=e._callPlusClient.getCurrentCallSession(),O=null==L?void 0:L.getCallType(),N=null==L?void 0:L.getUserList(),c=null==N?void 0:N.filter(({userId:_})=>_===e._context.getCurrentId())[0],d=null==N?void 0:N.filter(({userId:_})=>_!==e._context.getCurrentId()),T=null==d?void 0:d.every(({state:e})=>e===n.IDLE),S=(null==c?void 0:c.state)===n.ONCALL&&T;C&&O===I.MULTI&&S&&(e._callPlusClient.hangup(),t[_]=s===l.MISSED?l.NO_ANSWER:s,e._isSelfHangup=!1)})},onCallEnded(_,s){return C(this,void 0,void 0,function*(){const n=+new Date-i,o=_.getCallId(),r={conversationType:e._session.getConversationType(),channelId:e._session.getChannelId(),targetId:e._session.getTargetId(),mediaType:e._session.getMediaType(),beginTimestamp:e._sessionStartTime,endTimestamp:n,duration:E[o]?Math.ceil((n-e._sessionStartTime)/1e3):0,endReason:t[o]?u(t[o],e._isSelfHangup):u(s,e._isSelfHangup)};e._options.onSessionClose(e._session,r),e._session=null,e._sessionStartTime=0,delete t[o],delete E[o]})},onUserMediaAvailable(_,i){var t;return C(this,void 0,void 0,function*(){const E=i===a.AUDIO?L.AUDIO:L.AUDIO_VIDEO;e._listener?e._reportAppEventModule.onTrackReady(_,E,e._session):null===(t=e._session)||void 0===t||t.emit(g.INNER_ON_TRACK_READY,_,E,e._session)})},onFetchRemoteMediaError(_,i){var t,E,s;e._listener?null===(E=(t=e._reportAppEventModule).onTrackSubscribeFail)||void 0===E||E.call(t,i,e._session):null===(s=e._session)||void 0===s||s.emit(g.INNER_ON_TRACK_SUBSCRIBE_FAIL,i,e._session)},onRemoteCameraStateChanged(_,i,t){var E;const s={userId:i,muted:t,kind:"video",trackId:`${i}_RongCloudRTC_1`};e._listener?e._reportAppEventModule.onVideoMuteChange(s,e._session):null===(E=e._session)||void 0===E||E.emit(g.INNER_ON_VIDEO_MUTE_CHANGE,s,e._session)},onRemoteMicrophoneStateChanged(_,i,t){var E;const s={userId:i,muted:t,kind:"audio",trackId:`${i}_RongCloudRTC_0`};e._listener?e._reportAppEventModule.onAudioMuteChange(s,e._session):null===(E=e._session)||void 0===E||E.emit(g.INNER_ON_AUDIO_MUTE_CHANGE,s,e._session)},onReceivedCallRecord(e){},onReceivedChangeMediaTypeRequest(_,i,t){e._callPlusClient.replyChangeMediaType(i,!0)},onReceivedChangeMediaTypeResult(_){var i,t;if(e._mediaType!==L.AUDIO_VIDEO||_.mediaType!==a.AUDIO||_.code!==R.SERVER_ALLOW_MEDIA_TYPE)return;const E={userId:_.userId};e._mediaType=L.AUDIO,null===(i=e._session)||void 0===i||i.__innerEndTranction(a.AUDIO,_.transactionId),e._listener?e._reportAppEventModule.onMediaModify(E,e._mediaType,e._session):null===(t=e._session)||void 0===t||t.emit(g.INNER_ON_MEDIA_MODIFY,E,e._mediaType,e._session,_.transactionId)},onReceivedCallStartTime(_){e._sessionStartTime=_.callStartTime,i=+new Date-_.callStartTime},onReceivedCallFirstFrameTime(e,_){},onUserAudioLevelChanged(e,_){}})}registerUserInfo(e={}){this._logger.error(A.L_CALL_CLIENT_REGISTER_USER_INFO_O,"`RCCallClient.registerUserInfo` has been deprecated.")}startCrossCall(e){return C(this,void 0,void 0,function*(){this._logger.error(A.L_CALL_CLIENT_START_CROSS_CALL_O,"`RCCallClient.startCrossCall` has been deprecated")})}__startCall(e,{targetId:i,userIds:t,mediaType:E=L.AUDIO,listener:s,constraints:n,channelId:o="",extra:l="",bitrate:R}){return C(this,void 0,void 0,function*(){const C=this._logger.createTraceId();if(this._logger.info(A.L_CALL_CLIENT_CALL_T,JSON.stringify({targetId:i,userIds:t,mediaType:E,listener:Object.keys(s),constraints:n,channelId:o,extra:l,bitrate:R}),C),n){const{audio:e,video:_}=n;(null==e?void 0:e.micphoneId)&&this._audioConfigBuilder.setDefaultMicrophoneId(e.micphoneId),(null==e?void 0:e.sampleRate)&&this._audioConfigBuilder.setSampleRate(e.sampleRate),(null==_?void 0:_.cameraId)&&this._videoConfigBuilder.setDefaultCameraId(_.cameraId),(null==_?void 0:_.frameRate)&&this._videoConfigBuilder.setFrameRate(_.frameRate),(null==_?void 0:_.resolution)&&this._videoConfigBuilder.setVideoResolution(_.resolution)}if(R){const{audio:e,video:_}=R;e&&this._audioConfigBuilder.setBitrate(e,e),_&&this._videoConfigBuilder.setBitrate(_.min,_.max)}const N=this._audioConfigBuilder.build(),c=this._videoConfigBuilder.build();this._callPlusClient.setAudioConfig(N),this._callPlusClient.setVideoConfig(c),this._targetId=i,this._listener=s,this._reportAppEventModule.registerEventListener(s),this._mediaType=E;const d=E===L.AUDIO?a.AUDIO:a.AUDIO_VIDEO,T=e?I.SINGLE:I.MULTI,u=e?[i]:t,h=e?_.PRIVATE:_.GROUP,p=e?this._context.getCurrentId():i,f=JSON.stringify({callLibExtra:l,channelId:o,targetId:p,conversationType:h}),{code:P,callId:U}=yield this._callPlusClient.startCall(u,T,d,this._callPushConfig,f);return P!==r.SUCCESS?(this._logger.error(A.L_CALL_CLIENT_CALL_R,`errorCode: ${S(P)}`,C),{code:S(P)}):(this._logger.info(A.L_CALL_CLIENT_CALL_R,"success",C),this._session=new D(U,this._callPlusClient,this._channelId,this._targetId,h,d,this._context,this._logger,{callPushConfig:this._callPushConfig,hangupPushConfig:this._hangupPushConfig}),this._session.on(g.INNER_ON_SELF_HANGUP,()=>{this._isSelfHangup=!0}),{code:O.SUCCESS,session:this._session})})}call({targetId:e,mediaType:_=L.AUDIO,listener:i,constraints:t,channelId:E="",extra:s="",bitrate:n}){return C(this,void 0,void 0,function*(){return this.__startCall(!0,{targetId:e,userIds:[],mediaType:_,listener:i,constraints:t,channelId:E,extra:s,bitrate:n})})}callInGroup({targetId:e,userIds:_,mediaType:i=L.AUDIO,listener:t,constraints:E,channelId:s="",extra:n="",bitrate:o}){return C(this,void 0,void 0,function*(){return this.__startCall(!1,{targetId:e,userIds:_,mediaType:i,listener:t,constraints:E,channelId:s,extra:n,bitrate:o})})}getJoinedRoomInfo(){return C(this,void 0,void 0,function*(){const{code:e,data:_}=yield this._context.getRTCJoinedUserInfo(this._context.getCurrentId());return e!==i.SUCCESS?(this._logger.error(A.L_CALL_CLIENT_GET_JOINED_ROOM_INFO_E,e),{code:O.QUERY_JOINED_USER_INFO_ERROR}):{code:O.SUCCESS,data:_}})}setPushConfig(e={},_={}){this._logger.info(A.L_CALL_CLIENT_SET_PUSH_CONFIG_O,JSON.stringify({callPushConfig:e,hangupPushConfig:_})),this._callPushConfig=e,this._hangupPushConfig=_,delete this._callPushConfig.pushContent,delete this._hangupPushConfig.pushContent}}!function(e){e.ZH="zh",e.EN="en"}(h||(h={})),t.add("callpluswrapper","2.34.0");const P={tag:"CallPlusWrapper",verify:e=>"browser"===e.tag,setup(e,_,i){const t=e.createLogger("CWrapper","RTC"),n=E(i.logOutputLevel)?s.WARN:i.logOutputLevel;return t.setOutputLevel(n),t.warn(A.L_CALL_PLUS_WRAPPER_INIT_O,"CallPlus Version: 2.34.0, Commit: caef70f4f1707694c20c137e5bf59a520ea88e1f"),new f(e,t,i)}};export{f as RCCallClient,d as RCCallEndReason,O as RCCallErrorCode,h as RCCallLanguage,L as RCCallMediaType,D as RCCallSession,c as RCCallSessionState,N as RCCallUserState,P as installer};