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