gemercheung 3 anni fa
parent
commit
06b981007c
3 ha cambiato i file con 15 aggiunte e 11 eliminazioni
  1. 1 1
      src/app.module.ts
  2. 13 10
      src/meta.gateway.ts
  3. 1 0
      src/scene/scene.service.ts

+ 1 - 1
src/app.module.ts

@@ -23,4 +23,4 @@ import { RotateService } from './rotate/rotate.service';
   controllers: [AppController],
   providers: [AppService, MetaGateway, RotateService],
 })
-export class AppModule { }
+export class AppModule {}

+ 13 - 10
src/meta.gateway.ts

@@ -35,11 +35,12 @@ initLogger('Debug');
   path: '/ws',
 })
 export class MetaGateway
-  implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
+  implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect
+{
   constructor(
     private readonly sceneService: SceneService,
     private readonly configService: ConfigService,
-  ) { }
+  ) {}
   private logger: Logger = new Logger('MetaGateway');
   private peer: PeerConnection = null;
   private timer: NodeJS.Timeout;
@@ -272,14 +273,15 @@ export class MetaGateway
         client_os: '',
         fe_version: '',
       };
-      this.startstreamingSub = this.sceneService.startSteaming.subscribe((val) => {
-        if (val) {
-          console.log('onSteaming-start', val);
-          client.send(JSON.stringify(startReply));
-        }
-        // debugger
-      });
-    } catch (error) { }
+      this.startstreamingSub = this.sceneService.startSteaming.subscribe(
+        (val) => {
+          if (val) {
+            console.log('onSteaming-start', val);
+            client.send(JSON.stringify(startReply));
+          }
+        },
+      );
+    } catch (error) {}
   }
 
   handleConnection(client: WebSocket, ...args: any[]) {
@@ -316,5 +318,6 @@ export class MetaGateway
     this.logger.log(`Client disconnected: ${client.id}`);
     this.peer && this.peer.close();
     this.startstreamingSub & this.startstreamingSub.unsubscribe();
+    this.sceneService.stopStream();
   }
 }

+ 1 - 0
src/scene/scene.service.ts

@@ -132,6 +132,7 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
   resumeStream(value: number) {
     this.frameCnt.next(value);
     clearTimeout(this._frameTimeout);
+    clearInterval(this._frameInteval);
     this._frameTimeout = setTimeout(() => {
       this._frameInteval = setInterval(async () => {
         const next = this.frameCnt.value + 1;