From 0e9392ec89207247a3fb73fac5eec7ff45b42689 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期三, 26 一月 2022 18:18:52 +0800
Subject: [PATCH] 算力轮询周期
---
src/components/player/wfs/controller/buffer-controller.js | 95 +++++++++++++++++++++++------------------------
1 files changed, 46 insertions(+), 49 deletions(-)
diff --git a/src/components/player/wfs/controller/buffer-controller.js b/src/components/player/wfs/controller/buffer-controller.js
index 25b3211..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);
}
@@ -74,11 +69,11 @@
}
onMediaSourceClose() {
- console.log('media source closed');
+ // console.log('media source closed');
}
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 });
@@ -152,14 +147,16 @@
if (Object.keys(sourceBuffer).length) {
if (this.media.error) {
this.segments = [];
- console.log(
- 'trying to append although a media error occured, flush segment and abort'
- );
+ // console.log(
+ // 'trying to append although a media error occured, flush segment and abort'
+ // );
return;
}
if (this.appending) {
return;
}
+
+ wfs.playerStatus = 1;
if (segments && segments.length) {
var segment = segments.shift();
@@ -175,27 +172,27 @@
} catch (err) {
// in case any error occured while appending, put back segment in segments table
segments.unshift(segment);
- var event = { type: ErrorTypes.MEDIA_ERROR };
- if (err.code !== 22) {
- if (this.appendError) {
- this.appendError++;
- } else {
- this.appendError = 1;
- }
- event.details = ErrorDetails.BUFFER_APPEND_ERROR;
- event.frag = this.fragCurrent;
- if (this.appendError > wfs.config.appendErrorMaxRetry) {
- segments = [];
- event.fatal = true;
- return;
- } else {
- event.fatal = false;
- }
- } else {
- this.segments = [];
- event.details = ErrorDetails.BUFFER_FULL_ERROR;
- return;
- }
+ // var event = { type: ErrorTypes.MEDIA_ERROR };
+ // if (err.code !== 22) {
+ // if (this.appendError) {
+ // this.appendError++;
+ // } else {
+ // this.appendError = 1;
+ // }
+ // event.details = ErrorDetails.BUFFER_APPEND_ERROR;
+ // event.frag = this.fragCurrent;
+ // if (this.appendError > wfs.config.appendErrorMaxRetry) {
+ // segments = [];
+ // event.fatal = true;
+ // return;
+ // } else {
+ // event.fatal = false;
+ // }
+ // } else {
+ // this.segments = [];
+ // event.details = ErrorDetails.BUFFER_FULL_ERROR;
+ // return;
+ // }
}
}
}
--
Gitblit v1.8.0