1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.VideoForDevelopment = void 0;
|
4 | const jsx_runtime_1 = require("react/jsx-runtime");
|
5 | const react_1 = require("react");
|
6 | const use_audio_frame_1 = require("../audio/use-audio-frame");
|
7 | const use_media_in_timeline_1 = require("../use-media-in-timeline");
|
8 | const use_media_playback_1 = require("../use-media-playback");
|
9 | const use_media_tag_volume_1 = require("../use-media-tag-volume");
|
10 | const use_sync_volume_with_media_tag_1 = require("../use-sync-volume-with-media-tag");
|
11 | const volume_position_state_1 = require("../volume-position-state");
|
12 | const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
|
13 | var _a;
|
14 | const videoRef = (0, react_1.useRef)(null);
|
15 | const volumePropFrame = (0, use_audio_frame_1.useFrameForVolumeProp)();
|
16 | const { volume, muted, playbackRate, ...nativeProps } = props;
|
17 | const actualVolume = (0, use_media_tag_volume_1.useMediaTagVolume)(videoRef);
|
18 | const [mediaVolume] = (0, volume_position_state_1.useMediaVolumeState)();
|
19 | const [mediaMuted] = (0, volume_position_state_1.useMediaMutedState)();
|
20 | (0, use_media_in_timeline_1.useMediaInTimeline)({
|
21 | mediaRef: videoRef,
|
22 | volume,
|
23 | mediaVolume,
|
24 | mediaType: 'video',
|
25 | src: nativeProps.src,
|
26 | });
|
27 | (0, use_sync_volume_with_media_tag_1.useSyncVolumeWithMediaTag)({
|
28 | volumePropFrame,
|
29 | actualVolume,
|
30 | volume,
|
31 | mediaVolume,
|
32 | mediaRef: videoRef,
|
33 | });
|
34 | (0, use_media_playback_1.useMediaPlayback)({
|
35 | mediaRef: videoRef,
|
36 | src: nativeProps.src,
|
37 | mediaType: 'video',
|
38 | playbackRate: (_a = props.playbackRate) !== null && _a !== void 0 ? _a : 1,
|
39 | });
|
40 | (0, react_1.useImperativeHandle)(ref, () => {
|
41 | return videoRef.current;
|
42 | });
|
43 | return ((0, jsx_runtime_1.jsx)("video", { ref: videoRef, muted: muted || mediaMuted, playsInline: true, ...nativeProps }, void 0));
|
44 | };
|
45 | exports.VideoForDevelopment = (0, react_1.forwardRef)(VideoForDevelopmentRefForwardingFunction);
|