mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-09-28 11:23:45 +02:00
Drain -> Sink
This commit is contained in:
+4
-4
@@ -55,7 +55,7 @@
|
||||
const audioTrack = await input.getPrimaryAudioTrack();
|
||||
const videoTrack = await input.getPrimaryVideoTrack();
|
||||
|
||||
const drain = new Metamuxer.EncodedAudioSampleDrain(audioTrack);
|
||||
const sink = new Metamuxer.EncodedAudioSampleSink(audioTrack);
|
||||
|
||||
const decoderConfig = await audioTrack.getDecoderConfig();
|
||||
const sampleSource = new Metamuxer.EncodedAudioSampleSource(await audioTrack.getCodec());
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
|
||||
/*
|
||||
for await (const sample of drain.samples()) {
|
||||
for await (const sample of sink.samples()) {
|
||||
//console.log(sample.timestamp);
|
||||
//sample.timestamp *= 2;
|
||||
//console.log(sample);
|
||||
@@ -80,13 +80,13 @@
|
||||
await sampleSource.digest(sample, { decoderConfig });
|
||||
}
|
||||
*/
|
||||
for await (const { data, timestamp } of new Metamuxer.AudioDataDrain(audioTrack).data()) {
|
||||
for await (const { data, timestamp } of new Metamuxer.AudioDataSink(audioTrack).data()) {
|
||||
//console.log("wow", data.timestamp);
|
||||
//console.log(sample)
|
||||
await audioDataSource.digest(data);
|
||||
}
|
||||
/*
|
||||
for await (const sample of new Metamuxer.EncodedVideoSampleDrain(videoTrack).samples()) {
|
||||
for await (const sample of new Metamuxer.EncodedVideoSampleSink(videoTrack).samples()) {
|
||||
//console.log(sample)
|
||||
await videoSampleSource.digest(sample, { decoderConfig: videoDecoderConfig });
|
||||
}
|
||||
|
||||
+4
-4
@@ -68,8 +68,8 @@ durationElement.textContent = formatSeconds(totalDuration);
|
||||
|
||||
playerDiv.style.display = 'flex';
|
||||
|
||||
const videoDrain = videoTrack && new Metamuxer.CanvasDrain(videoTrack);
|
||||
const audioDrain = audioTrack && new Metamuxer.AudioBufferDrain(audioTrack);
|
||||
const videoSink = videoTrack && new Metamuxer.CanvasSink(videoTrack);
|
||||
const audioSink = audioTrack && new Metamuxer.AudioBufferSink(audioTrack);
|
||||
|
||||
let startTime = null;
|
||||
let playing = false;
|
||||
@@ -92,7 +92,7 @@ function getPlaybackTime() {
|
||||
|
||||
function play() {
|
||||
audioBufferIterator?.return();
|
||||
audioBufferIterator = audioDrain?.buffers(getPlaybackTime());
|
||||
audioBufferIterator = audioSink?.buffers(getPlaybackTime());
|
||||
startTime = audioContext.currentTime;
|
||||
playing = true;
|
||||
runAudioIterator();
|
||||
@@ -135,7 +135,7 @@ async function seek() {
|
||||
|
||||
await videoFrameIterator?.return();
|
||||
|
||||
videoFrameIterator = videoDrain.canvases(getPlaybackTime());
|
||||
videoFrameIterator = videoSink.canvases(getPlaybackTime());
|
||||
|
||||
const newCurrentFrame = (await videoFrameIterator.next()).value;
|
||||
const newNextFrame = (await videoFrameIterator.next()).value;
|
||||
|
||||
Reference in New Issue
Block a user