@remotion/studio
Version:
APIs for interacting with the Remotion Studio
42 lines (41 loc) • 2.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultCodecs = void 0;
const client_1 = require("@remotion/renderer/client");
const pure_1 = require("@remotion/renderer/pure");
const getDefaultCodecs = ({ defaultConfigurationVideoCodec, compositionDefaultVideoCodec, renderType, defaultConfigurationAudioCodec, }) => {
var _a;
const userPreferredVideoCodec = (_a = compositionDefaultVideoCodec !== null && compositionDefaultVideoCodec !== void 0 ? compositionDefaultVideoCodec : defaultConfigurationVideoCodec) !== null && _a !== void 0 ? _a : 'h264';
const userPreferredVideoCodecForAudioTab = userPreferredVideoCodec === 'aac'
? 'aac'
: userPreferredVideoCodec === 'mp3'
? 'mp3'
: userPreferredVideoCodec === 'wav'
? 'wav'
: defaultConfigurationAudioCodec === 'pcm-16'
? 'wav'
: defaultConfigurationAudioCodec === 'mp3'
? 'mp3'
: 'aac';
const isVideoCodecAnAudioCodec = pure_1.NoReactAPIs.isAudioCodec(userPreferredVideoCodec);
if (isVideoCodecAnAudioCodec) {
return {
initialAudioCodec: null,
initialRenderType: 'audio',
initialVideoCodec: userPreferredVideoCodec,
initialVideoCodecForAudioTab: userPreferredVideoCodecForAudioTab,
initialVideoCodecForVideoTab: pure_1.NoReactAPIs.isAudioCodec(defaultConfigurationVideoCodec)
? 'h264'
: defaultConfigurationVideoCodec,
};
}
const suitableAudioCodecForVideoCodec = client_1.BrowserSafeApis.defaultAudioCodecs[userPreferredVideoCodec].compressed;
return {
initialAudioCodec: defaultConfigurationAudioCodec !== null && defaultConfigurationAudioCodec !== void 0 ? defaultConfigurationAudioCodec : suitableAudioCodecForVideoCodec,
initialVideoCodec: userPreferredVideoCodec,
initialRenderType: renderType,
initialVideoCodecForAudioTab: userPreferredVideoCodecForAudioTab,
initialVideoCodecForVideoTab: userPreferredVideoCodec,
};
};
exports.getDefaultCodecs = getDefaultCodecs;