From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/components/player/wfs/controller/buffer-controller.js |   45 +++++++++++++++++++++------------------------
 1 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/src/components/player/wfs/controller/buffer-controller.js b/src/components/player/wfs/controller/buffer-controller.js
index 3578198..31c5e27 100644
--- a/src/components/player/wfs/controller/buffer-controller.js
+++ b/src/components/player/wfs/controller/buffer-controller.js
@@ -2,17 +2,12 @@
  * Buffer Controller
  */
 /* eslint-disable */
-import Event from '../events';
-import EventHandler from '../event-handler';
+import Event from "../events";
+import EventHandler from "../event-handler";
 
 class BufferController extends EventHandler {
   constructor(wfs) {
-    super(
-      wfs,
-      Event.MEDIA_ATTACHING,
-      Event.BUFFER_APPENDING,
-      Event.BUFFER_RESET
-    );
+    super(wfs, Event.MEDIA_ATTACHING, Event.BUFFER_APPENDING, Event.BUFFER_RESET);
 
     this.mediaSource = null;
     this.media = null;
@@ -27,10 +22,10 @@
     this.onsbue = this.onSBUpdateEnd.bind(this);
 
     this.browserType = 0;
-    if (navigator.userAgent.toLowerCase().indexOf('firefox') !== -1) {
+    if (navigator.userAgent.toLowerCase().indexOf("firefox") !== -1) {
       this.browserType = 1;
     }
-    this.mediaType = 'H264Raw';
+    this.mediaType = "H264Raw";
 
     this.websocketName = undefined;
     this.channelName = undefined;
@@ -54,9 +49,9 @@
       this.onmso = this.onMediaSourceOpen.bind(this);
       this.onmse = this.onMediaSourceEnded.bind(this);
       this.onmsc = this.onMediaSourceClose.bind(this);
-      ms.addEventListener('sourceopen', this.onmso);
-      ms.addEventListener('sourceended', this.onmse);
-      ms.addEventListener('sourceclose', this.onmsc);
+      ms.addEventListener("sourceopen", this.onmso);
+      ms.addEventListener("sourceended", this.onmse);
+      ms.addEventListener("sourceclose", this.onmsc);
       // link video and media Source
       media.src = URL.createObjectURL(ms);
     }
@@ -78,7 +73,7 @@
   }
 
   onMediaSourceEnded() {
-    console.log('media source ended');
+    console.log("media source ended");
   }
 
   onSBUpdateEnd(event) {
@@ -99,10 +94,10 @@
     let mediaSource = this.mediaSource;
     if (mediaSource) {
       // once received, don't listen anymore to sourceopen event
-      mediaSource.removeEventListener('sourceopen', this.onmso);
+      mediaSource.removeEventListener("sourceopen", this.onmso);
     }
 
-    if (this.mediaType === 'FMp4') {
+    if (this.mediaType === "FMp4") {
       this.checkPendingTracks();
     }
 
@@ -116,13 +111,13 @@
   }
 
   checkPendingTracks() {
-    this.createSourceBuffers({ tracks: 'video', mimeType: '' });
+    this.createSourceBuffers({ tracks: "video", mimeType: "" });
     this.pendingTracks = {};
   }
 
   onBufferReset(data) {
-    if (this.mediaType === 'H264Raw') {
-      this.createSourceBuffers({ tracks: 'video', mimeType: data.mimeType });
+    if (this.mediaType === "H264Raw") {
+      this.createSourceBuffers({ tracks: "video", mimeType: data.mimeType });
     }
   }
 
@@ -130,15 +125,15 @@
     var sourceBuffer = this.sourceBuffer,
       mediaSource = this.mediaSource;
     let mimeType;
-    if (tracks.mimeType === '') {
-      mimeType = 'video/mp4;codecs=avc1.420028'; // avc1.42c01f avc1.42801e avc1.640028 avc1.420028
+    if (tracks.mimeType === "") {
+      mimeType = "video/mp4;codecs=avc1.420028"; // avc1.42c01f avc1.42801e avc1.640028 avc1.420028
     } else {
-      mimeType = 'video/mp4;codecs=' + tracks.mimeType;
+      mimeType = "video/mp4;codecs=" + tracks.mimeType;
     }
 
     try {
-      let sb = (sourceBuffer['video'] = mediaSource.addSourceBuffer(mimeType));
-      sb.addEventListener('updateend', this.onsbue);
+      let sb = (sourceBuffer["video"] = mediaSource.addSourceBuffer(mimeType));
+      sb.addEventListener("updateend", this.onsbue);
       track.buffer = sb;
     } catch (err) {}
     this.wfs.trigger(Event.BUFFER_CREATED, { tracks: tracks });
@@ -161,6 +156,8 @@
         return;
       }
 
+      wfs.playerStatus = 1;
+
       if (segments && segments.length) {
         var segment = segments.shift();
         try {

--
Gitblit v1.8.0