Drain -> Sink

This commit is contained in:
David Payr
2025-01-08 14:26:49 +01:00
parent dc81afa1d9
commit b6b82084d4
7 changed files with 56 additions and 56 deletions
+5 -5
View File
@@ -1,5 +1,5 @@
import { AudioCodec, MediaCodec, VideoCodec } from './codec';
import { EncodedAudioSampleDrain, EncodedVideoSampleDrain, SampleRetrievalOptions } from './media-drain';
import { EncodedAudioSampleSink, EncodedVideoSampleSink, SampleRetrievalOptions } from './media-sink';
import { Rotation } from './misc';
import { EncodedAudioSample, EncodedVideoSample } from './sample';
@@ -116,7 +116,7 @@ export class InputVideoTrack extends InputTrack {
}
computeSampleStats() {
return computeSampleStats(new EncodedVideoSampleDrain(this));
return computeSampleStats(new EncodedVideoSampleSink(this));
}
}
@@ -185,7 +185,7 @@ export class InputAudioTrack extends InputTrack {
}
computeSampleStats() {
return computeSampleStats(new EncodedAudioSampleDrain(this));
return computeSampleStats(new EncodedAudioSampleSink(this));
}
}
@@ -196,13 +196,13 @@ export type SampleStats = {
averageBitrate: number;
};
const computeSampleStats = async (drain: EncodedVideoSampleDrain | EncodedAudioSampleDrain): Promise<SampleStats> => {
const computeSampleStats = async (sink: EncodedVideoSampleSink | EncodedAudioSampleSink): Promise<SampleStats> => {
let startTimestamp = Infinity;
let endTimestamp = -Infinity;
let sampleCount = 0;
let totalSampleBytes = 0;
for await (const sample of drain.samples(undefined, undefined, { metadataOnly: true })) {
for await (const sample of sink.samples(undefined, undefined, { metadataOnly: true })) {
startTimestamp = Math.min(startTimestamp, sample.timestamp);
endTimestamp = Math.max(endTimestamp, sample.timestamp + sample.duration);