add timeout to heic conversion
This commit is contained in:
parent
faad7f554e
commit
206b15b962
|
@ -6,12 +6,20 @@ export async function convertHEIC(
|
||||||
fileBlob: Blob,
|
fileBlob: Blob,
|
||||||
format: string
|
format: string
|
||||||
): Promise<Blob> {
|
): Promise<Blob> {
|
||||||
const filedata = new Uint8Array(await fileBlob.arrayBuffer());
|
return await new Promise((resolve, reject) => {
|
||||||
setTimeout(() => {
|
const main = async () => {
|
||||||
throw Error('wait time exceeded');
|
const filedata = new Uint8Array(await fileBlob.arrayBuffer());
|
||||||
}, WAIT_TIME_IN_MICROSECONDS);
|
const timeout = setTimeout(() => {
|
||||||
const result = await HeicConvert({ buffer: filedata, format });
|
reject(Error('wait time exceeded'));
|
||||||
const convertedFileData = new Uint8Array(result);
|
}, WAIT_TIME_IN_MICROSECONDS);
|
||||||
const convertedFileBlob = new Blob([convertedFileData]);
|
console.time('convertHEIC');
|
||||||
return convertedFileBlob;
|
const result = await HeicConvert({ buffer: filedata, format });
|
||||||
|
console.timeEnd('convertHEIC');
|
||||||
|
clearTimeout(timeout);
|
||||||
|
const convertedFileData = new Uint8Array(result);
|
||||||
|
const convertedFileBlob = new Blob([convertedFileData]);
|
||||||
|
resolve(convertedFileBlob);
|
||||||
|
};
|
||||||
|
main();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@ import { FileUploadResults, MAX_FILE_SIZE_SUPPORTED } from 'constants/upload';
|
||||||
import { FileWithCollection, BackupedFile, UploadFile } from 'types/upload';
|
import { FileWithCollection, BackupedFile, UploadFile } from 'types/upload';
|
||||||
import { logUploadInfo } from 'utils/upload';
|
import { logUploadInfo } from 'utils/upload';
|
||||||
import { convertToHumanReadable } from 'utils/billing';
|
import { convertToHumanReadable } from 'utils/billing';
|
||||||
import { sleep } from 'utils/common';
|
|
||||||
|
|
||||||
interface UploadResponse {
|
interface UploadResponse {
|
||||||
fileUploadResult: FileUploadResults;
|
fileUploadResult: FileUploadResults;
|
||||||
|
@ -72,7 +71,7 @@ export default async function uploader(
|
||||||
);
|
);
|
||||||
|
|
||||||
if (file.hasStaticThumbnail) {
|
if (file.hasStaticThumbnail) {
|
||||||
throw Error('thumbnail generation failed');
|
metadata.hasStaticThumbnail = true;
|
||||||
}
|
}
|
||||||
const fileWithMetadata = {
|
const fileWithMetadata = {
|
||||||
localID,
|
localID,
|
||||||
|
@ -80,9 +79,6 @@ export default async function uploader(
|
||||||
thumbnail: file.thumbnail,
|
thumbnail: file.thumbnail,
|
||||||
metadata,
|
metadata,
|
||||||
};
|
};
|
||||||
UIService.increaseFileUploaded();
|
|
||||||
await sleep(100);
|
|
||||||
return { fileUploadResult: FileUploadResults.ALREADY_UPLOADED };
|
|
||||||
|
|
||||||
logUploadInfo(`encryptAsset ${fileNameSize}`);
|
logUploadInfo(`encryptAsset ${fileNameSize}`);
|
||||||
const encryptedFile = await UploadService.encryptAsset(
|
const encryptedFile = await UploadService.encryptAsset(
|
||||||
|
|
Loading…
Reference in a new issue