diff --git a/web/src/lib/queen-bee/queue.ts b/web/src/lib/queen-bee/queue.ts index ef829adb..9e0af950 100644 --- a/web/src/lib/queen-bee/queue.ts +++ b/web/src/lib/queen-bee/queue.ts @@ -1,5 +1,3 @@ -import mime from "mime"; - import { addItem } from "$lib/state/queen-bee/queue"; import { openQueuePopover } from "$lib/state/queue-visibility"; @@ -55,6 +53,9 @@ export const createRemuxPipeline = (file: File) => { } export const createSavePipeline = (info: CobaltLocalProcessingResponse, request: CobaltSaveRequestBody) => { + // TODO: proper error here + if (!(info.output?.filename && info.output?.type)) return; + const parentId = crypto.randomUUID(); const pipeline: CobaltPipelineItem[] = []; @@ -82,9 +83,8 @@ export const createSavePipeline = (info: CobaltLocalProcessingResponse, request: "-c:a", "copy" ], output: { - // TODO: return mime type from api to avoid dragging a big ass package into web build - type: mime.getType(info.filename) || undefined, - format: info.filename.split(".").pop(), + type: info.output.type, + format: info.output.filename.split(".").pop(), }, }, }); @@ -95,8 +95,8 @@ export const createSavePipeline = (info: CobaltLocalProcessingResponse, request: pipeline, canRetry: true, originalRequest: request, - filename: info.filename, - mimeType: mime.getType(info.filename) || undefined, + filename: info.output.filename, + mimeType: info.output.type, mediaType: "video", }); diff --git a/web/src/lib/types/api.ts b/web/src/lib/types/api.ts index 2e730444..5e6e8a84 100644 --- a/web/src/lib/types/api.ts +++ b/web/src/lib/types/api.ts @@ -45,20 +45,23 @@ type CobaltTunnelResponse = { export type CobaltLocalProcessingResponse = { status: CobaltResponseType.LocalProcessing, - tunnel: string[], // TODO: proper type for processing types type: string, service: string, - filename: string, + tunnel: string[], - metadata?: { - album?: string, - copyright?: string, - title?: string, - artist?: string, - track?: string, - date?: string + output?: { + type?: string, // mimetype + filename?: string, + metadata?: { + album?: string, + copyright?: string, + title?: string, + artist?: string, + track?: string, + date?: string + }, }, audio?: {