|
@@ -1065,9 +1065,11 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
|
|
|
}
|
|
|
|
|
|
handleDataChanelClose(): void {
|
|
|
+ this.roQueue.clean();
|
|
|
this.stopStream();
|
|
|
this.startSteaming.next(false);
|
|
|
this.streamService.closeChannel();
|
|
|
+ this.cleanMoveSteam();
|
|
|
// const exitRequest: ExitRequest = {
|
|
|
// action_type: 1002,
|
|
|
// user_id: this.user_id,
|
|
@@ -1132,6 +1134,7 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
|
|
|
this.requestIFrameQueueSub = this.requestIFrameQueue.subscribe(
|
|
|
async (frameData: StreamFrameType) => {
|
|
|
if (frameData) {
|
|
|
+ this.globalOptLock = true;
|
|
|
const nextFrame = this.frameCnt.getValue() + 1;
|
|
|
this.logger.warn('lostIframe', nextFrame);
|
|
|
frameData.frame = nextFrame;
|
|
@@ -1145,6 +1148,7 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
|
|
|
clearTimeout(this._packFrameTimeout);
|
|
|
this._packFrameTimeout = setTimeout(() => {
|
|
|
this.resumeStream();
|
|
|
+ this.globalOptLock = false;
|
|
|
}, 100);
|
|
|
} else {
|
|
|
console.error('补帧有误:', JSON.stringify(frameData));
|