diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-09-11 18:33:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-11 10:33:57 -0700 |
commit | 24b07c6cf495367acfcf6a3f44a841e8f355d08f (patch) | |
tree | 3ee4a3f1ccf7f17a1c9646cd7af8468c4b9ebad9 /src/view/com/composer/videos/SelectVideoBtn.tsx | |
parent | a19c91d90e349d5adcf720f30d40e04513c2f2df (diff) | |
download | voidsky-24b07c6cf495367acfcf6a3f44a841e8f355d08f.tar.zst |
[Video] Cap duration (#5270)
Diffstat (limited to 'src/view/com/composer/videos/SelectVideoBtn.tsx')
-rw-r--r-- | src/view/com/composer/videos/SelectVideoBtn.tsx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/view/com/composer/videos/SelectVideoBtn.tsx b/src/view/com/composer/videos/SelectVideoBtn.tsx index 6e294ba9c..da67d781e 100644 --- a/src/view/com/composer/videos/SelectVideoBtn.tsx +++ b/src/view/com/composer/videos/SelectVideoBtn.tsx @@ -18,7 +18,7 @@ import {Button} from '#/components/Button' import {VideoClip_Stroke2_Corner0_Rounded as VideoClipIcon} from '#/components/icons/VideoClip' import * as Prompt from '#/components/Prompt' -const VIDEO_MAX_DURATION = 60 +const VIDEO_MAX_DURATION = 60 * 1000 // 60s in milliseconds type Props = { onSelectVideo: (video: ImagePickerAsset) => void @@ -45,13 +45,20 @@ export function SelectVideoBtn({onSelectVideo, disabled, setError}: Props) { const response = await launchImageLibraryAsync({ exif: false, mediaTypes: MediaTypeOptions.Videos, - videoMaxDuration: VIDEO_MAX_DURATION, quality: 1, legacy: true, preferredAssetRepresentationMode: UIImagePickerPreferredAssetRepresentationMode.Current, }) if (response.assets && response.assets.length > 0) { + if (isNative) { + if (typeof response.assets[0].duration !== 'number') + throw Error('Asset is not a video') + if (response.assets[0].duration > VIDEO_MAX_DURATION) { + setError(_(msg`Videos must be less than 60 seconds long`)) + return + } + } try { onSelectVideo(response.assets[0]) } catch (err) { |