fix(metadata): extract and save audiobook chapters and embedded metadata

The book dock metadata service now routes audio formats through the audio extractor to extract chapters, duration, narrators, and other embedded tags. This ensures that audiobook metadata is correctly mapped and persisted during the import process.

Closes #322
This commit is contained in:
neon
2026-06-13 17:18:40 +00:00
parent 702cb267ba
commit d42abb3647
5 changed files with 392 additions and 2 deletions
+5
View File
@@ -1,3 +1,5 @@
import type { AudiobookChapter } from "./audiobook";
export type BookDockFileStatus = "pending" | "extracting" | "fetching" | "ready" | "error";
export type BookDockAutoFinalizeMetadataMode = "safe_merge" | "fetched_only" | "embedded_only";
@@ -5,6 +7,7 @@ export interface BookDockMetadata {
title?: string;
subtitle?: string;
authors?: string[];
narrators?: string[];
description?: string;
publisher?: string;
publishedYear?: number;
@@ -16,6 +19,8 @@ export interface BookDockMetadata {
seriesIndex?: number;
genres?: string[];
coverUrl?: string;
durationSeconds?: number;
chapters?: AudiobookChapter[];
}
export interface BookDockFile {