Files
clawbot/skills/remotion-prompt-video/node_modules/@remotion/webcodecs/dist/on-audio-track.js

52 lines
2.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeAudioTrackHandler = void 0;
const can_copy_audio_track_1 = require("./can-copy-audio-track");
const copy_audio_track_1 = require("./copy-audio-track");
const default_on_audio_track_handler_1 = require("./default-on-audio-track-handler");
const get_default_audio_codec_1 = require("./get-default-audio-codec");
const reencode_audio_track_1 = require("./reencode-audio-track");
const makeAudioTrackHandler = ({ state, defaultAudioCodec: audioCodec, controller, abortConversion, onMediaStateUpdate, onAudioTrack, logLevel, outputContainer, onAudioData, progressTracker, }) => async ({ track, container: inputContainer }) => {
const canCopyTrack = (0, can_copy_audio_track_1.canCopyAudioTrack)({
inputCodec: track.codecEnum,
outputContainer,
inputContainer,
outputAudioCodec: audioCodec,
});
const audioOperation = await (onAudioTrack ?? default_on_audio_track_handler_1.defaultOnAudioTrackHandler)({
defaultAudioCodec: audioCodec ?? (0, get_default_audio_codec_1.getDefaultAudioCodec)({ container: outputContainer }),
track,
logLevel,
outputContainer,
inputContainer,
canCopyTrack,
});
if (audioOperation.type === 'drop') {
return null;
}
if (audioOperation.type === 'fail') {
throw new Error(`Audio track with ID ${track.trackId} resolved with {"type": "fail"}. This could mean that this audio track could neither be copied to the output container or re-encoded. You have the option to drop the track instead of failing it: https://remotion.dev/docs/webcodecs/track-transformation`);
}
if (audioOperation.type === 'copy') {
return (0, copy_audio_track_1.copyAudioTrack)({
logLevel,
onMediaStateUpdate,
state,
track,
progressTracker,
});
}
return (0, reencode_audio_track_1.reencodeAudioTrack)({
abortConversion,
controller,
logLevel,
onMediaStateUpdate,
audioOperation,
onAudioData,
state,
track,
progressTracker,
});
};
exports.makeAudioTrackHandler = makeAudioTrackHandler;