UNPKG

@remotion/player

Version:

React component for embedding a Remotion preview into your app

21 lines (20 loc) 935 B
import { jsx as _jsx } from "react/jsx-runtime"; import { useContext, useEffect, useState } from 'react'; import { Internals } from 'remotion'; import { PlayerEventEmitterContext } from './emitter-context.js'; import { PlayerEmitter } from './event-emitter.js'; import { useBufferStateEmitter } from './use-buffer-state-emitter.js'; export const PlayerEmitterProvider = ({ children, currentPlaybackRate }) => { const [emitter] = useState(() => new PlayerEmitter()); const bufferManager = useContext(Internals.BufferingContextReact); if (!bufferManager) { throw new Error('BufferingContextReact not found'); } useEffect(() => { if (currentPlaybackRate) { emitter.dispatchRateChange(currentPlaybackRate); } }, [emitter, currentPlaybackRate]); useBufferStateEmitter(emitter); return (_jsx(PlayerEventEmitterContext.Provider, { value: emitter, children: children })); };