about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/media/video/compress.ts3
-rw-r--r--src/lib/media/video/compress.web.ts1
-rw-r--r--src/lib/media/video/errors.ts7
-rw-r--r--src/lib/media/video/types.ts1
4 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/media/video/compress.ts b/src/lib/media/video/compress.ts
index 709f2a77a..79c58f5dd 100644
--- a/src/lib/media/video/compress.ts
+++ b/src/lib/media/video/compress.ts
@@ -29,5 +29,6 @@ export async function compressVideo(
   )
 
   const info = await getVideoMetaData(compressed)
-  return {uri: compressed, size: info.size}
+
+  return {uri: compressed, size: info.size, mimeType: `video/${info.extension}`}
 }
diff --git a/src/lib/media/video/compress.web.ts b/src/lib/media/video/compress.web.ts
index c08702534..c071b33ae 100644
--- a/src/lib/media/video/compress.web.ts
+++ b/src/lib/media/video/compress.web.ts
@@ -23,6 +23,7 @@ export async function compressVideo(
     size: blob.size,
     uri,
     bytes: await blob.arrayBuffer(),
+    mimeType,
   }
 }
 
diff --git a/src/lib/media/video/errors.ts b/src/lib/media/video/errors.ts
index 701a7e235..a06a239e1 100644
--- a/src/lib/media/video/errors.ts
+++ b/src/lib/media/video/errors.ts
@@ -4,3 +4,10 @@ export class VideoTooLargeError extends Error {
     this.name = 'VideoTooLargeError'
   }
 }
+
+export class ServerError extends Error {
+  constructor(message: string) {
+    super(message)
+    this.name = 'ServerError'
+  }
+}
diff --git a/src/lib/media/video/types.ts b/src/lib/media/video/types.ts
index ba0070054..ae873d756 100644
--- a/src/lib/media/video/types.ts
+++ b/src/lib/media/video/types.ts
@@ -1,5 +1,6 @@
 export type CompressedVideo = {
   uri: string
+  mimeType: string
   size: number
   // web only, can fall back to uri if missing
   bytes?: ArrayBuffer