Files
mediabunny/test/browser/media-sinks.test.ts
T

27 lines
801 B
TypeScript

import { expect, test } from 'vitest';
import { Input } from '../../src/input.js';
import { UrlSource } from '../../src/source.js';
import { ALL_FORMATS } from '../../src/input-format.js';
import { assert } from '../../src/misc.js';
import { AudioSampleSink } from '../../src/media-sink.js';
// https://github.com/Vanilagy/mediabunny/issues/370
test('Negative audio timestamps are preserved', async () => {
using input = new Input({
source: new UrlSource('/edts.mp4'),
formats: ALL_FORMATS,
});
const track = await input.getPrimaryAudioTrack();
assert(track);
expect(await track.getFirstTimestamp()).toBeLessThan(0);
const sink = new AudioSampleSink(track);
for await (using sample of sink.samples()) {
expect(sample.timestamp).toBe(await track.getFirstTimestamp());
break;
}
});