Use common H.264 check in tests
Avoid duplicating this logic in multiple places.
This commit is contained in:
parent
43326eb67b
commit
89e0591aab
|
@ -4,6 +4,7 @@ import Display from '../core/display.js';
|
||||||
import { H264Parser } from '../core/decoders/h264.js';
|
import { H264Parser } from '../core/decoders/h264.js';
|
||||||
import H264Decoder from '../core/decoders/h264.js';
|
import H264Decoder from '../core/decoders/h264.js';
|
||||||
import Base64 from '../core/base64.js';
|
import Base64 from '../core/base64.js';
|
||||||
|
import { supportsWebCodecsH264Decode } from '../core/util/browser.js';
|
||||||
|
|
||||||
import FakeWebSocket from './fake.websocket.js';
|
import FakeWebSocket from './fake.websocket.js';
|
||||||
|
|
||||||
|
@ -29,32 +30,6 @@ const redGreenBlue16x16Video = new Uint8Array(Base64.decode(
|
||||||
'4AA5DRJMnkycJk4TPwAAAAFBiIga8RigADVVHAAGaGOAANtuAAAAAUGIkBr///wRRQABVf8c' +
|
'4AA5DRJMnkycJk4TPwAAAAFBiIga8RigADVVHAAGaGOAANtuAAAAAUGIkBr///wRRQABVf8c' +
|
||||||
'AAcho4AAiD4='));
|
'AAcho4AAiD4='));
|
||||||
|
|
||||||
let _haveH264Decode = null;
|
|
||||||
|
|
||||||
async function haveH264Decode() {
|
|
||||||
if (_haveH264Decode !== null) {
|
|
||||||
return _haveH264Decode;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!('VideoDecoder' in window)) {
|
|
||||||
_haveH264Decode = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// We'll need to make do with some placeholders here
|
|
||||||
const config = {
|
|
||||||
codec: 'avc1.42401f',
|
|
||||||
codedWidth: 1920,
|
|
||||||
codedHeight: 1080,
|
|
||||||
optimizeForLatency: true,
|
|
||||||
};
|
|
||||||
|
|
||||||
let support = await VideoDecoder.isConfigSupported(config);
|
|
||||||
_haveH264Decode = support.supported;
|
|
||||||
|
|
||||||
return _haveH264Decode;
|
|
||||||
}
|
|
||||||
|
|
||||||
function createSolidColorFrameBuffer(color, width, height) {
|
function createSolidColorFrameBuffer(color, width, height) {
|
||||||
const r = (color >> 24) & 0xff;
|
const r = (color >> 24) & 0xff;
|
||||||
const g = (color >> 16) & 0xff;
|
const g = (color >> 16) & 0xff;
|
||||||
|
@ -158,8 +133,8 @@ describe('H.264 Parser', function () {
|
||||||
describe('H.264 Decoder Unit Test', function () {
|
describe('H.264 Decoder Unit Test', function () {
|
||||||
let decoder;
|
let decoder;
|
||||||
|
|
||||||
beforeEach(async function () {
|
beforeEach(function () {
|
||||||
if (!await haveH264Decode()) {
|
if (!supportsWebCodecsH264Decode) {
|
||||||
this.skip();
|
this.skip();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -213,8 +188,8 @@ describe('H.264 Decoder Functional Test', function () {
|
||||||
before(FakeWebSocket.replace);
|
before(FakeWebSocket.replace);
|
||||||
after(FakeWebSocket.restore);
|
after(FakeWebSocket.restore);
|
||||||
|
|
||||||
beforeEach(async function () {
|
beforeEach(function () {
|
||||||
if (!await haveH264Decode()) {
|
if (!supportsWebCodecsH264Decode) {
|
||||||
this.skip();
|
this.skip();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue