-
-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathopus.test.js
37 lines (31 loc) · 1.26 KB
/
opus.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* eslint-disable */
const fs = require('node:fs');
const prism = require('../');
const { streamToBuffer } = require('./util');
test('opus.OggDemuxer available', () => {
expect(prism.opus.OggDemuxer).toBeTruthy();
});
test('opus.WebmDemuxer available', () => {
expect(prism.opus.WebmDemuxer).toBeTruthy();
expect(prism.opus.WebmDemuxer.TOO_SHORT).toBeTruthy();
expect(prism.opus.WebmDemuxer.TAGS).toBeTruthy();
});
test('Opus encoders/decoders available', () => {
expect(prism.opus).toBeTruthy();
expect(prism.opus.Encoder).toBeTruthy();
expect(prism.opus.Decoder).toBeTruthy();
});
test('opus.OggDemuxer is sane', async () => {
const output = fs.createReadStream('./test/audio/speech_orig.ogg')
.pipe(new prism.opus.OggDemuxer())
.pipe(new prism.opus.Decoder({ rate: 48000, channels: 1, frameSize: 960 }));
const chunks = await streamToBuffer(output);
expect(chunks.length).toBeGreaterThanOrEqual(103e3);
});
test('opus.WebmDemuxer is sane', async () => {
const output = fs.createReadStream('./test/audio/speech_orig.webm')
.pipe(new prism.opus.WebmDemuxer())
.pipe(new prism.opus.Decoder({ rate: 48000, channels: 1, frameSize: 960 }));
const chunks = await streamToBuffer(output);
expect(chunks.length).toBeGreaterThanOrEqual(103e3);
});