about summary refs log tree commit diff
path: root/src/view/com/composer/videos/VideoPreview.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/composer/videos/VideoPreview.tsx')
-rw-r--r--src/view/com/composer/videos/VideoPreview.tsx24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/view/com/composer/videos/VideoPreview.tsx b/src/view/com/composer/videos/VideoPreview.tsx
index 60b467d62..b1bfd6715 100644
--- a/src/view/com/composer/videos/VideoPreview.tsx
+++ b/src/view/com/composer/videos/VideoPreview.tsx
@@ -1,8 +1,7 @@
-/* eslint-disable @typescript-eslint/no-shadow */
 import React from 'react'
 import {View} from 'react-native'
 import {ImagePickerAsset} from 'expo-image-picker'
-import {useVideoPlayer, VideoView} from 'expo-video'
+import {BlueskyVideoView} from '@haileyok/bluesky-video'
 
 import {CompressedVideo} from '#/lib/media/video/types'
 import {clamp} from '#/lib/numbers'
@@ -22,15 +21,8 @@ export function VideoPreview({
   clear: () => void
 }) {
   const t = useTheme()
+  const playerRef = React.useRef<BlueskyVideoView>(null)
   const autoplayDisabled = useAutoplayDisabled()
-  const player = useVideoPlayer(video.uri, player => {
-    player.loop = true
-    player.muted = true
-    if (!autoplayDisabled) {
-      player.play()
-    }
-  })
-
   let aspectRatio = asset.width / asset.height
 
   if (isNaN(aspectRatio)) {
@@ -50,12 +42,12 @@ export function VideoPreview({
         t.atoms.border_contrast_low,
         {backgroundColor: 'black'},
       ]}>
-      <VideoView
-        player={player}
-        style={a.flex_1}
-        allowsPictureInPicture={false}
-        nativeControls={false}
-        contentFit="contain"
+      <BlueskyVideoView
+        url={video.uri}
+        autoplay={autoplayDisabled}
+        beginMuted={true}
+        forceTakeover={true}
+        ref={playerRef}
       />
       <ExternalEmbedRemoveBtn onRemove={clear} />
       {autoplayDisabled && (