|
@@ -67,58 +67,38 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
E(this, "firstFrameTimestamp");
|
|
|
E(this, "receiveRtcData", async()=>{
|
|
|
logger.info("Invoke receiveRtcData");
|
|
|
- let e = !1
|
|
|
- , t = !1
|
|
|
- , r = !1
|
|
|
- , n = !1;
|
|
|
+ let i = !1,
|
|
|
+ o = !1,
|
|
|
+ s = !1,
|
|
|
+ c = !1;
|
|
|
return this.viewMode === "serverless" ? (logger.warn("set view mode to serverless"),
|
|
|
- this.setViewMode("observer").then(()=>this, ()=>this)) : new Promise(o=>{
|
|
|
- const a = this.networkController.rtcp.workers;
|
|
|
- a.registerFunction("signal", s=>{
|
|
|
- this.signal.handleSignal(s)
|
|
|
- });
|
|
|
-
|
|
|
- a.registerFunction("stream", s=>{
|
|
|
- var l;
|
|
|
- this.emit("streamTimestamp", {
|
|
|
- timestamp: Date.now()
|
|
|
- });
|
|
|
- t || (t = !0,logger.info("Invoke stream event"));
|
|
|
- if (s.stream) {
|
|
|
- r || (r = !0,logger.info("Invoke updateRawYUVData"));
|
|
|
- this.isUpdatedRawYUVData = !1;
|
|
|
- const fov = (l = this._currentState.skin) == null ? void 0 : l.fov;
|
|
|
- this.sceneManager.materialComponent.updateRawYUVData(s.stream, s.width, s.height, fov);
|
|
|
- this.isUpdatedRawYUVData = !0
|
|
|
+ this.setViewMode("observer").then(()=>this, ()=>this)) : new Promise((d, _) => {
|
|
|
+ const b = this.networkController.rtcp.workers;
|
|
|
+ b.registerFunction("signal", k => {
|
|
|
+ this.signal.handleSignal(k, _)
|
|
|
+ }),
|
|
|
+ b.registerFunction("stream", k => {
|
|
|
+ var j;
|
|
|
+ if (this.emit("streamTimestamp", {
|
|
|
+ timestamp: Date.now()
|
|
|
+ }), o || (o = !0, logger.info("Invoke stream event")), k.stream) {
|
|
|
+ s || (s = !0, logger.info("Invoke updateRawYUVData")), this.isUpdatedRawYUVData = !1;
|
|
|
+ const $ = (j = this._currentState.skin) == null ? void 0 : j.fov;
|
|
|
+ this.sceneManager.materialComponent.updateRawYUVData(k.stream, k.width, k.height, $), this.isUpdatedRawYUVData = !0
|
|
|
}
|
|
|
- if(!e){
|
|
|
- logger.info("Invoke isAfterRenderRegistered");
|
|
|
- e = !0;
|
|
|
- this.scene.registerAfterRender(()=>{
|
|
|
- if(this.engineProxy.frameRenderNumber >= 2){
|
|
|
- n || (n = !0,logger.info("Invoke registerAfterRender"));
|
|
|
- if(!this.isFirstDataUsed){
|
|
|
- logger.info("Invoke isStreamAvailable");
|
|
|
- this.isFirstDataUsed = !0;
|
|
|
- this.firstFrameTimestamp = Date.now();
|
|
|
- o(this);
|
|
|
- this.afterJoinRoom();
|
|
|
- }
|
|
|
- }
|
|
|
+ if(!i){
|
|
|
+ logger.info("Invoke isAfterRenderRegistered")
|
|
|
+ i = !0, this.scene.registerAfterRender(() => {
|
|
|
+ this.engineProxy.frameRenderNumber >= 2 && (c || (c = !0, logger.info("Invoke registerAfterRender")), this.isFirstDataUsed || (logger.info("Invoke isStreamAvailable"), this.isFirstDataUsed = !0, this.firstFrameTimestamp = Date.now(), d(this), this.afterJoinRoom()))
|
|
|
})
|
|
|
}
|
|
|
- });
|
|
|
-
|
|
|
- this.panorama.bindListener(()=>{
|
|
|
- o(this),
|
|
|
- this.afterJoinRoom()
|
|
|
- });
|
|
|
-
|
|
|
- a.registerFunction("reconnectedFrame", ()=>{});
|
|
|
-
|
|
|
- logger.info("Invoke decoderWorker.postMessage");
|
|
|
-
|
|
|
- a.decoderWorker.postMessage({
|
|
|
+ }),
|
|
|
+ this.panorama.bindListener(() => {
|
|
|
+ d(this), this.afterJoinRoom()
|
|
|
+ }),
|
|
|
+ b.registerFunction("reconnectedFrame", () => {}),
|
|
|
+ logger.info("Invoke decoderWorker.postMessage"),
|
|
|
+ b.decoderWorker.postMessage({
|
|
|
t: 5
|
|
|
})
|
|
|
}
|
|
@@ -303,9 +283,12 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
this.viewMode === "observer" && this.setViewModeToObserver(),
|
|
|
logger.infoAndReportMeasurement({
|
|
|
tag: this.viewMode,
|
|
|
- value: this.firstFrameTimestamp - this._startTime,
|
|
|
+ value: this.firstFrameTimestamp || Date.now() - this._startTime,
|
|
|
startTime: Date.now(),
|
|
|
- metric: "joinRoom"
|
|
|
+ metric: "joinRoom",
|
|
|
+ reportOptions: {
|
|
|
+ immediate: !0
|
|
|
+ }
|
|
|
}),
|
|
|
this.camera.initialFov = this.sceneManager.cameraComponent.getCameraFov(),
|
|
|
this.stats.on("stats", ({stats: e})=>{
|
|
@@ -314,11 +297,11 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
),
|
|
|
this.debug = new Debug(this),
|
|
|
this.afterJoinRoomHook();
|
|
|
- // setInterval(() => {
|
|
|
- // this.actionsHandler.getNewUserState(NewUserStateType.NUST_Undefined).then(i => {
|
|
|
- // this.avatarManager.handleAvatar(i)
|
|
|
- // }).catch(() => {})
|
|
|
- // }, 2e3)
|
|
|
+ setInterval(() => {
|
|
|
+ this.actionsHandler.getNewUserState(NewUserStateType.NUST_Undefined).then(i => {
|
|
|
+ this.avatarManager.handleAvatar(i)
|
|
|
+ }).catch(() => {})
|
|
|
+ }, 2e3)
|
|
|
}
|
|
|
afterReconnected() {
|
|
|
this.avatarManager.clearOtherUsers(),
|
|
@@ -423,15 +406,21 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
async initWasm() {
|
|
|
if (this.viewMode === "serverless")
|
|
|
return Promise.resolve();
|
|
|
- const e = Date.now();
|
|
|
+ const i = Date.now();
|
|
|
try {
|
|
|
- await this.networkController.rtcp.workers.init(this.options.resolution)._timeout(8e3, new InitDecoderTimeoutError),
|
|
|
- this.networkController.rtcp.workers.registerFunction("error", t=>{
|
|
|
- logger.error("decode error", t);
|
|
|
- const {code: code, message: n} = t;
|
|
|
+ await this.networkController.rtcp.workers.init({
|
|
|
+ width: 1920,
|
|
|
+ height: 1080,
|
|
|
+ userID: this.userId,
|
|
|
+ pageSession: this.options.pageSession,
|
|
|
+ serverSession: ""
|
|
|
+ })._timeout(8e3, new InitDecoderTimeoutError),
|
|
|
+ this.networkController.rtcp.workers.registerFunction("error", o=>{
|
|
|
+ logger.error("decode error", o);
|
|
|
+ const {code: s, message: c} = o;
|
|
|
this.emit("error", {
|
|
|
- code: code,
|
|
|
- msg: n
|
|
|
+ code: s,
|
|
|
+ msg: c
|
|
|
})
|
|
|
}
|
|
|
),
|
|
@@ -443,31 +432,34 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
logger.infoAndReportMeasurement({
|
|
|
metric: "wasmInitCost",
|
|
|
group: "joinRoom",
|
|
|
- startTime: e
|
|
|
+ startTime: i
|
|
|
}),
|
|
|
- eventsManager.on("traceId", t=>{
|
|
|
- this.networkController.rtcp.workers.onTraceId(t)
|
|
|
+ eventsManager.on("traceId", o=>{
|
|
|
+ this.networkController.rtcp.workers.onTraceId(o)
|
|
|
}
|
|
|
)
|
|
|
- } catch (t) {
|
|
|
+ } catch (o) {
|
|
|
throw logger.infoAndReportMeasurement({
|
|
|
metric: "wasmInitAt",
|
|
|
group: "joinRoom",
|
|
|
- startTime: e,
|
|
|
- error: t
|
|
|
+ startTime: i,
|
|
|
+ error: o
|
|
|
}),
|
|
|
- t
|
|
|
+ o
|
|
|
}
|
|
|
}
|
|
|
async requestCreateRoom({skinId: e}) {
|
|
|
- let t;
|
|
|
+ let skin;
|
|
|
if (e) {
|
|
|
- t = await this.getSkin(e);
|
|
|
+ skin = await this.getSkin(e);
|
|
|
+ this.updateCurrentState({
|
|
|
+ skin: skin
|
|
|
+ });
|
|
|
const r = await this.modelManager.findRoute(e, this.options.pathName);
|
|
|
this.updateCurrentNetworkOptions({
|
|
|
areaName: r.areaName,
|
|
|
attitude: r.attitude,
|
|
|
- versionId: t.versionId
|
|
|
+ versionId: skin.versionId
|
|
|
});
|
|
|
const {camera: n, player: player} = util.getRandomItem(r.birthPointList) || this.options;
|
|
|
this.options.camera || this.updateCurrentNetworkOptions({
|
|
@@ -478,7 +470,7 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
})
|
|
|
}
|
|
|
if (this.viewMode === "serverless")
|
|
|
- return t;
|
|
|
+ return skin;
|
|
|
try {
|
|
|
await this.beforeStartGameHook(this.options);
|
|
|
const {room_id: room_id, data: n, session_id: session_id} = await this.networkController.startGame();
|
|
@@ -498,8 +490,8 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
});
|
|
|
return skin
|
|
|
} catch (r) {
|
|
|
- throw logger.error("Request create room error", r),
|
|
|
- r
|
|
|
+ logger.error("requestCreateRoom error:", r);
|
|
|
+ return Promise.reject(r)
|
|
|
}
|
|
|
}
|
|
|
pause() {
|
|
@@ -568,4 +560,14 @@ export default class Xverse_Room extends EventEmitter {
|
|
|
}),
|
|
|
Object.assign(this._currentState, e)
|
|
|
}
|
|
|
+
|
|
|
+ afterSetUrlHook() {}
|
|
|
+ afterTvStopedHook() {}
|
|
|
+ afterTvPlayedHook() {}
|
|
|
+ pageShowHandler() {
|
|
|
+ this.engineProxy.setEnv(this.skin), this.allowRender = !0
|
|
|
+ }
|
|
|
+ pageHideHandler() {
|
|
|
+ this.allowRender = !1
|
|
|
+ }
|
|
|
}
|