Merge pull request #710 from ente-io/fix-ffmpeg-thumbnail-generation-issue

fix thumbnail generation failure
This commit is contained in:
Abhinav Kumar 2022-09-15 15:25:54 +05:30 committed by GitHub
commit b4f4dc583b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 3 deletions

View file

@ -1,6 +1,9 @@
import { createFFmpeg, FFmpeg } from 'ffmpeg-wasm';
import { getUint8ArrayView } from 'services/readerService';
import { parseFFmpegExtractedMetadata } from 'utils/ffmpeg';
import {
parseFFmpegExtractedMetadata,
splitFilenameAndExtension,
} from 'utils/ffmpeg';
class FFmpegClient {
private ffmpeg: FFmpeg;
@ -22,7 +25,9 @@ class FFmpegClient {
async generateThumbnail(file: File) {
await this.ready;
const inputFileName = `${Date.now().toString()}-${file.name}`;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [_, ext] = splitFilenameAndExtension(file.name);
const inputFileName = `${Date.now().toString()}-input.${ext}`;
const thumbFileName = `${Date.now().toString()}-thumb.jpeg`;
this.ffmpeg.FS(
'writeFile',
@ -57,7 +62,9 @@ class FFmpegClient {
async extractVideoMetadata(file: File) {
await this.ready;
const inputFileName = `${Date.now().toString()}-${file.name}`;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [_, ext] = splitFilenameAndExtension(file.name);
const inputFileName = `${Date.now().toString()}-input.${ext}`;
const outFileName = `${Date.now().toString()}-metadata.txt`;
this.ffmpeg.FS(
'writeFile',

View file

@ -61,3 +61,13 @@ function parseCreationTime(creationTime: string) {
}
return dateTime;
}
export function splitFilenameAndExtension(filename: string): [string, string] {
const lastDotPosition = filename.lastIndexOf('.');
if (lastDotPosition === -1) return [filename, null];
else
return [
filename.slice(0, lastDotPosition),
filename.slice(lastDotPosition + 1),
];
}