don't add 16x on every render

This commit is contained in:
Blake Blackshear 2022-05-16 06:49:47 -05:00
parent 7c8142174e
commit d2c3cdcf04

View File

@ -6,24 +6,25 @@ import 'videojs-seek-buttons';
import 'video.js/dist/video-js.css'; import 'video.js/dist/video-js.css';
import 'videojs-seek-buttons/dist/videojs-seek-buttons.css'; import 'videojs-seek-buttons/dist/videojs-seek-buttons.css';
const defaultOptions = { export default function VideoPlayer({ children, options, seekOptions = {}, onReady = () => {}, onDispose = () => {} }) {
const playerRef = useRef();
useEffect(() => {
const defaultOptions = {
controls: true, controls: true,
playbackRates: [0.5, 1, 2, 4, 8], playbackRates: [0.5, 1, 2, 4, 8],
fluid: true, fluid: true,
}; };
const defaultSeekOptions = {
const defaultSeekOptions = {
forward: 30, forward: 30,
back: 10, back: 10,
}; };
export default function VideoPlayer({ children, options, seekOptions = {}, onReady = () => {}, onDispose = () => {} }) {
const playerRef = useRef();
if (!videojs.browser.IS_FIREFOX) { if (!videojs.browser.IS_FIREFOX) {
defaultOptions.playbackRates.push(16); defaultOptions.playbackRates.push(16);
} }
useEffect(() => {
const player = videojs(playerRef.current, { ...defaultOptions, ...options }, () => { const player = videojs(playerRef.current, { ...defaultOptions, ...options }, () => {
onReady(player); onReady(player);
}); });