@omnimedia/omnitool
Version:
open source video processing tools
22 lines • 859 B
JavaScript
import { itemsFrom } from "../../handy.js";
import { initStreams } from "./parts/init.js";
import { AudioSinkPool } from "./parts/sink.js";
import { findEarliestStream } from "./parts/find.js";
export function createAudioSampler(resolveMedia) {
const sinkPool = new AudioSinkPool(resolveMedia);
return {
async *sampleAudio(timeline, from) {
const items = itemsFrom({ timeline, from });
const streams = await initStreams(sinkPool, items, from);
while (streams.length > 0) {
const { stream, index } = findEarliestStream(streams);
yield stream.output();
const advancing = await stream.advance();
if (!advancing) {
streams.splice(index, 1);
}
}
}
};
}
//# sourceMappingURL=sampler.js.map