Skip to content

Commit

Permalink
[Video] Upload tweaks (#5228)
Browse files Browse the repository at this point in the history
* use correct mime type

* fix wheel progress
  • Loading branch information
mozzius authored Sep 8, 2024
1 parent 95aee14 commit 6c6a76b
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/lib/media/video/compress.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {getVideoMetaData, Video} from 'react-native-compressor'
import {ImagePickerAsset} from 'expo-image-picker'

import {SUPPORTED_MIME_TYPES, SupportedMimeTypes} from '#/lib/constants'
import {extToMime} from '#/state/queries/video/util'
import {CompressedVideo} from './types'

const MIN_SIZE_FOR_COMPRESSION = 1024 * 1024 * 25 // 25mb
Expand Down Expand Up @@ -43,5 +44,5 @@ export async function compressVideo(

const info = await getVideoMetaData(compressed)

return {uri: compressed, size: info.size, mimeType: `video/mp4`}
return {uri: compressed, size: info.size, mimeType: extToMime(info.extension)}
}
15 changes: 15 additions & 0 deletions src/state/queries/video/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,18 @@ export function mimeToExt(mimeType: SupportedMimeTypes | (string & {})) {
throw new Error(`Unsupported mime type: ${mimeType}`)
}
}

export function extToMime(ext: string) {
switch (ext) {
case 'mp4':
return 'video/mp4'
case 'webm':
return 'video/webm'
case 'mpeg':
return 'video/mpeg'
case 'mov':
return 'video/quicktime'
default:
throw new Error(`Unsupported file extension: ${ext}`)
}
}
6 changes: 4 additions & 2 deletions src/view/com/composer/Composer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1154,10 +1154,12 @@ function VideoUploadToolbar({state}: {state: VideoUploadState}) {
const progress = state.jobStatus?.progress
? state.jobStatus.progress / 100
: state.progress
let wheelProgress = progress === 0 || progress === 1 ? 0.33 : progress
const shouldRotate =
state.status === 'processing' && (progress === 0 || progress === 1)
let wheelProgress = shouldRotate ? 0.33 : progress

const rotate = useDerivedValue(() => {
if (progress === 0 || progress >= 0.99) {
if (shouldRotate) {
return withRepeat(
withTiming(360, {
duration: 2500,
Expand Down

0 comments on commit 6c6a76b

Please sign in to comment.