UNPKG

mira-app-server

Version:

Mira Server - standalone server application using mira-app-core

57 lines 2.34 kB
import { EventArgs } from 'mira-app-core'; import { ILibraryServerData } from 'mira-app-core/storage/sqlite'; import { MiraWebsocketServer } from '../WebSocketServer'; export interface ThumbnailGenerator { name: string; supportedExtensions: string[]; generate(srcPath: string, destPath: string): Promise<void>; } export declare class ThumbnailService { private generators; private extMap; private taskQueue; private progress; private wsServer; private readonly imageMagickPath; private readonly ghostscriptPath; private readonly ffmpegPath; private readonly ffprobePath; private previewTasks; private hlsMetadataTasks; private hlsSegmentTasks; constructor(); setWebSocketServer(server: MiraWebsocketServer): void; registerGenerator(generator: ThumbnailGenerator): void; unregisterGenerator(name: string): void; getGenerators(): ThumbnailGenerator[]; hasImageMagick(): boolean; getPreviewPath(srcPath: string, cacheDir: string, cacheKey: string): Promise<string>; getHlsPlaylist(srcPath: string, cacheDir: string, cacheKey: string, segmentQuery?: string): Promise<string>; getHlsSegmentPath(srcPath: string, cacheDir: string, cacheKey: string, segmentIndex: number): Promise<string>; private getHlsMetadata; private getGeneratorForFile; onFileCreated(libraryId: string, event: EventArgs, dbService: ILibraryServerData): void; onFileDeleted(libraryId: string, item: any, dbService: ILibraryServerData): void; scanPending(libraryId: string, dbService: ILibraryServerData, reason?: string): Promise<void>; private incrementProgress; cancelScan(): void; getStats(libraryId: string, dbService: ILibraryServerData): Promise<{ totalFiles: number; withThumbnails: number; withoutThumbnails: number; thumbnailRate: number; }>; getProgressData(libraryId: string, dbService: ILibraryServerData): Promise<{ totalPending: number; queueLength: number; processing: boolean; completed: number; progress: number; }>; syncThumbStatus(libraryId: string, dbService: ILibraryServerData, reason?: string): Promise<{ total: number; synced: number; }>; private getPendingFiles; } //# sourceMappingURL=ThumbnailService.d.ts.map