mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-09-27 19:03:46 +02:00
Remove input track descriptors, add async getters on tracks for everything, deprecate old sync getters
This commit is contained in:
+28
-24
@@ -26,7 +26,7 @@ test('reads AC-3 from MP4', async () => {
|
||||
const audioTrack = (await input.getPrimaryAudioTrack())!;
|
||||
const decoderConfig = (await audioTrack.getDecoderConfig())!;
|
||||
|
||||
expect(audioTrack.codec).toBe('ac3');
|
||||
expect(await audioTrack.getCodec()).toBe('ac3');
|
||||
expect(decoderConfig.description).toBeUndefined();
|
||||
});
|
||||
|
||||
@@ -39,7 +39,7 @@ test('reads E-AC-3 from MP4', async () => {
|
||||
const audioTrack = (await input.getPrimaryAudioTrack())!;
|
||||
const decoderConfig = (await audioTrack.getDecoderConfig())!;
|
||||
|
||||
expect(audioTrack.codec).toBe('eac3');
|
||||
expect(await audioTrack.getCodec()).toBe('eac3');
|
||||
expect(decoderConfig.description).toBeUndefined();
|
||||
});
|
||||
|
||||
@@ -51,8 +51,8 @@ test('reads and writes AC-3 in MPEG-TS', async () => {
|
||||
|
||||
const originalAudioTrack = (await originalInput.getPrimaryAudioTrack())!;
|
||||
|
||||
expect(originalAudioTrack.codec).toBe('ac3');
|
||||
expect(originalAudioTrack.internalCodecId).toBe(0x81);
|
||||
expect(await originalAudioTrack.getCodec()).toBe('ac3');
|
||||
expect(await originalAudioTrack.getInternalCodecId()).toBe(0x81);
|
||||
|
||||
const output = new Output({
|
||||
format: new MpegTsOutputFormat(),
|
||||
@@ -69,10 +69,10 @@ test('reads and writes AC-3 in MPEG-TS', async () => {
|
||||
|
||||
const newAudioTrack = (await newInput.getPrimaryAudioTrack())!;
|
||||
|
||||
expect(newAudioTrack.codec).toBe('ac3');
|
||||
expect(newAudioTrack.internalCodecId).toBe(0x81);
|
||||
expect(newAudioTrack.numberOfChannels).toBe(originalAudioTrack.numberOfChannels);
|
||||
expect(newAudioTrack.sampleRate).toBe(originalAudioTrack.sampleRate);
|
||||
expect(await newAudioTrack.getCodec()).toBe('ac3');
|
||||
expect(await newAudioTrack.getInternalCodecId()).toBe(0x81);
|
||||
expect(await newAudioTrack.getNumberOfChannels()).toBe(await originalAudioTrack.getNumberOfChannels());
|
||||
expect(await newAudioTrack.getSampleRate()).toBe(await originalAudioTrack.getSampleRate());
|
||||
|
||||
// Verify registration_descriptor is present
|
||||
const buffer = new Uint8Array(output.target.buffer!);
|
||||
@@ -94,8 +94,8 @@ test('reads and writes E-AC-3 in MPEG-TS', async () => {
|
||||
|
||||
const originalAudioTrack = (await originalInput.getPrimaryAudioTrack())!;
|
||||
|
||||
expect(originalAudioTrack.codec).toBe('eac3');
|
||||
expect(originalAudioTrack.internalCodecId).toBe(0x87);
|
||||
expect(await originalAudioTrack.getCodec()).toBe('eac3');
|
||||
expect(await originalAudioTrack.getInternalCodecId()).toBe(0x87);
|
||||
|
||||
const output = new Output({
|
||||
format: new MpegTsOutputFormat(),
|
||||
@@ -112,10 +112,10 @@ test('reads and writes E-AC-3 in MPEG-TS', async () => {
|
||||
|
||||
const newAudioTrack = (await newInput.getPrimaryAudioTrack())!;
|
||||
|
||||
expect(newAudioTrack.codec).toBe('eac3');
|
||||
expect(newAudioTrack.internalCodecId).toBe(0x87);
|
||||
expect(newAudioTrack.numberOfChannels).toBe(originalAudioTrack.numberOfChannels);
|
||||
expect(newAudioTrack.sampleRate).toBe(originalAudioTrack.sampleRate);
|
||||
expect(await newAudioTrack.getCodec()).toBe('eac3');
|
||||
expect(await newAudioTrack.getInternalCodecId()).toBe(0x87);
|
||||
expect(await newAudioTrack.getNumberOfChannels()).toBe(await originalAudioTrack.getNumberOfChannels());
|
||||
expect(await newAudioTrack.getSampleRate()).toBe(await originalAudioTrack.getSampleRate());
|
||||
|
||||
// Verify registration_descriptor is present
|
||||
const buffer = new Uint8Array(output.target.buffer!);
|
||||
@@ -168,6 +168,8 @@ test('AC-3 decoding', async () => {
|
||||
|
||||
const track = (await input.getPrimaryAudioTrack())!;
|
||||
const { packetCount } = await track.computePacketStats();
|
||||
const trackNumberOfChannels = await track.getNumberOfChannels();
|
||||
const trackSampleRate = await track.getSampleRate();
|
||||
const sink = new AudioSampleSink(track);
|
||||
|
||||
let sampleCount = 0;
|
||||
@@ -177,8 +179,8 @@ test('AC-3 decoding', async () => {
|
||||
expect(sample.timestamp).toBeCloseTo(nextTimestamp);
|
||||
expect(sample.duration).toBe(0.032);
|
||||
expect(sample.format).toBe('f32-planar');
|
||||
expect(sample.numberOfChannels).toBe(track.numberOfChannels);
|
||||
expect(sample.sampleRate).toBe(track.sampleRate);
|
||||
expect(sample.numberOfChannels).toBe(trackNumberOfChannels);
|
||||
expect(sample.sampleRate).toBe(trackSampleRate);
|
||||
|
||||
nextTimestamp += sample.duration;
|
||||
sampleCount++;
|
||||
@@ -197,6 +199,8 @@ test('E-AC-3 decoding', async () => {
|
||||
|
||||
const track = (await input.getPrimaryAudioTrack())!;
|
||||
const { packetCount } = await track.computePacketStats();
|
||||
const trackNumberOfChannels = await track.getNumberOfChannels();
|
||||
const trackSampleRate = await track.getSampleRate();
|
||||
const sink = new AudioSampleSink(track);
|
||||
|
||||
let sampleCount = 0;
|
||||
@@ -206,8 +210,8 @@ test('E-AC-3 decoding', async () => {
|
||||
expect(sample.timestamp).toBeCloseTo(nextTimestamp);
|
||||
expect(sample.duration).toBe(0.032);
|
||||
expect(sample.format).toBe('f32-planar');
|
||||
expect(sample.numberOfChannels).toBe(track.numberOfChannels);
|
||||
expect(sample.sampleRate).toBe(track.sampleRate);
|
||||
expect(sample.numberOfChannels).toBe(trackNumberOfChannels);
|
||||
expect(sample.sampleRate).toBe(trackSampleRate);
|
||||
|
||||
nextTimestamp += sample.duration;
|
||||
sampleCount++;
|
||||
@@ -263,9 +267,9 @@ test('AC-3 encoding', async () => {
|
||||
});
|
||||
|
||||
const track = (await input.getPrimaryAudioTrack())!;
|
||||
expect(track.codec).toBe('ac3');
|
||||
expect(track.sampleRate).toBe(sampleRate);
|
||||
expect(track.numberOfChannels).toBe(channels);
|
||||
expect(await track.getCodec()).toBe('ac3');
|
||||
expect(await track.getSampleRate()).toBe(sampleRate);
|
||||
expect(await track.getNumberOfChannels()).toBe(channels);
|
||||
|
||||
const sink = new EncodedPacketSink(track);
|
||||
let packetCount = 0;
|
||||
@@ -311,9 +315,9 @@ test('E-AC-3 encoding', async () => {
|
||||
});
|
||||
|
||||
const track = (await input.getPrimaryAudioTrack())!;
|
||||
expect(track.codec).toBe('eac3');
|
||||
expect(track.sampleRate).toBe(sampleRate);
|
||||
expect(track.numberOfChannels).toBe(channels);
|
||||
expect(await track.getCodec()).toBe('eac3');
|
||||
expect(await track.getSampleRate()).toBe(sampleRate);
|
||||
expect(await track.getNumberOfChannels()).toBe(channels);
|
||||
|
||||
const sink = new EncodedPacketSink(track);
|
||||
let packetCount = 0;
|
||||
|
||||
Reference in New Issue
Block a user