This commit is contained in:
Manav Rathi 2024-05-15 10:05:02 +05:30
parent 495eaec4b2
commit 34a3a8700e
No known key found for this signature in database
3 changed files with 11 additions and 22 deletions

View file

@ -11,9 +11,9 @@ import {
} from "services/ml/types";
import { imageBitmapToBlob, warpAffineFloat32List } from "utils/image";
import ReaderService, {
fetchImageBitmap,
getFaceId,
getLocalFile,
getOriginalImageBitmap,
} from "./readerService";
class FaceService {
@ -296,7 +296,7 @@ class FaceService {
}
const file = await getLocalFile(personFace.fileId);
const imageBitmap = await getOriginalImageBitmap(file);
const imageBitmap = await fetchImageBitmap(file);
return await this.saveFaceCrop(imageBitmap, personFace, syncContext);
}
}

View file

@ -2,7 +2,7 @@ import log from "@/next/log";
import mlIDbStorage from "services/ml/db";
import { Face, MLSyncContext, Person } from "services/ml/types";
import FaceService, { isDifferentOrOld } from "./faceService";
import { getLocalFile, getOriginalImageBitmap } from "./readerService";
import { fetchImageBitmap, getLocalFile } from "./readerService";
class PeopleService {
async syncPeopleIndex(syncContext: MLSyncContext) {
@ -58,7 +58,7 @@ class PeopleService {
if (personFace && !personFace.crop?.cacheKey) {
const file = await getLocalFile(personFace.fileId);
const imageBitmap = await getOriginalImageBitmap(file);
const imageBitmap = await fetchImageBitmap(file);
await FaceService.saveFaceCrop(
imageBitmap,
personFace,

View file

@ -40,7 +40,7 @@ class ReaderService {
fileContext.enteFile.metadata.fileType,
)
) {
fileContext.imageBitmap = await getOriginalImageBitmap(
fileContext.imageBitmap = await fetchImageBitmap(
fileContext.enteFile,
);
} else {
@ -105,17 +105,12 @@ export function getFaceId(detectedFace: DetectedFace, imageDims: Dimensions) {
return faceID;
}
async function getImageBlobBitmap(blob: Blob): Promise<ImageBitmap> {
return await createImageBitmap(blob);
}
export const fetchImageBitmap = async (file: EnteFile) =>
fetchRenderableBlob(file).then(createImageBitmap);
async function getOriginalFile(file: EnteFile) {
async function fetchRenderableBlob(file: EnteFile) {
const fileStream = await DownloadManager.getFile(file);
return new Response(fileStream).blob();
}
async function getOriginalConvertedFile(file: EnteFile) {
const fileBlob = await getOriginalFile(file);
const fileBlob = await new Response(fileStream).blob();
if (file.metadata.fileType === FILE_TYPE.IMAGE) {
return await getRenderableImage(file.metadata.title, fileBlob);
} else {
@ -127,17 +122,11 @@ async function getOriginalConvertedFile(file: EnteFile) {
}
}
export async function getOriginalImageBitmap(file: EnteFile) {
const fileBlob = await getOriginalConvertedFile(file);
log.info("[MLService] Got file: ", file.id.toString());
return getImageBlobBitmap(fileBlob);
}
export async function getThumbnailImageBitmap(file: EnteFile) {
const thumb = await DownloadManager.getThumbnail(file);
log.info("[MLService] Got thumbnail: ", file.id.toString());
return getImageBlobBitmap(new Blob([thumb]));
return createImageBitmap(new Blob([thumb]));
}
export async function getLocalFileImageBitmap(
@ -146,5 +135,5 @@ export async function getLocalFileImageBitmap(
) {
let fileBlob = localFile as Blob;
fileBlob = await getRenderableImage(enteFile.metadata.title, fileBlob);
return getImageBlobBitmap(fileBlob);
return createImageBitmap(fileBlob);
}