@remotion/player
Version:
React component for embedding a Remotion preview into your app
60 lines (59 loc) • 3.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SharedPlayerContexts = exports.PLAYER_COMP_ID = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const remotion_1 = require("remotion");
const volume_persistance_js_1 = require("./volume-persistance.js");
exports.PLAYER_COMP_ID = 'player-comp';
const SharedPlayerContexts = ({ children, timelineContext, fps, compositionHeight, compositionWidth, durationInFrames, component, numberOfSharedAudioTags, initiallyMuted, logLevel, }) => {
const compositionManagerContext = (0, react_1.useMemo)(() => {
const context = {
compositions: [
{
component: component,
durationInFrames,
height: compositionHeight,
width: compositionWidth,
fps,
id: exports.PLAYER_COMP_ID,
nonce: 777,
folderName: null,
parentFolderName: null,
schema: null,
calculateMetadata: null,
},
],
folders: [],
currentCompositionMetadata: null,
canvasContent: { type: 'composition', compositionId: 'player-comp' },
};
return context;
}, [component, durationInFrames, compositionHeight, compositionWidth, fps]);
const [mediaMuted, setMediaMuted] = (0, react_1.useState)(() => initiallyMuted);
const [mediaVolume, setMediaVolume] = (0, react_1.useState)(() => (0, volume_persistance_js_1.getPreferredVolume)());
const mediaVolumeContextValue = (0, react_1.useMemo)(() => {
return {
mediaMuted,
mediaVolume,
};
}, [mediaMuted, mediaVolume]);
const setMediaVolumeAndPersist = (0, react_1.useCallback)((vol) => {
setMediaVolume(vol);
(0, volume_persistance_js_1.persistVolume)(vol, logLevel);
}, [logLevel]);
const setMediaVolumeContextValue = (0, react_1.useMemo)(() => {
return {
setMediaMuted,
setMediaVolume: setMediaVolumeAndPersist,
};
}, [setMediaVolumeAndPersist]);
const logLevelContext = (0, react_1.useMemo)(() => {
return {
logLevel,
mountTime: Date.now(),
};
}, [logLevel]);
return ((0, jsx_runtime_1.jsx)(remotion_1.Internals.LogLevelContext.Provider, { value: logLevelContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.Timeline.TimelineContext.Provider, { value: timelineContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.CompositionManager.Provider, { value: compositionManagerContext, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.ResolveCompositionConfig, { children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.PrefetchProvider, { children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.DurationsContextProvider, { children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.MediaVolumeContext.Provider, { value: mediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.SetMediaVolumeContext.Provider, { value: setMediaVolumeContextValue, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.SharedAudioContextProvider, { numberOfAudioTags: numberOfSharedAudioTags, component: component, children: (0, jsx_runtime_1.jsx)(remotion_1.Internals.BufferingProvider, { children: children }) }) }) }) }) }) }) }) }) }) }));
};
exports.SharedPlayerContexts = SharedPlayerContexts;