Document the case from user logs
[rndr] [error] Native thumbnail generation failed: Error: Error invoking remote method 'ffmpegExec': Error: Command failed: '/Applications/ente.app/Contents/Resources/app.asar.unpacked/node_modules/ffmpeg-static/ffmpeg' -i /var/folders/61/8lm3qh2s1vx9905_jkvgcsqh0000gn/T/ente/9P6wsR5mPA -ss '00:00:00' -vframes 1 -vf 'scale=-1:720' '/var/folders/61/8lm3qh2s1vx9
905_jkvgcsqh0000gn/T/ente/wvkVRFNgpy.jpeg'
/bin/sh: /Applications/ente.app/Contents/Resources/app.asar.unpacked/node_modules/ffmpeg-static/ffmpeg: Bad CPU type in executable
[rndr] [warn] Not using browser based thumbnail generation fallback for video at path takeout-xxx.zip,Takeout/yyy.mp4
This commit is contained in:
@@ -1037,26 +1037,24 @@ const withThumbnail = async (
|
||||
} else {
|
||||
// 3. Browser based thumbnail generation for paths.
|
||||
//
|
||||
// There are two reasons why we could get here:
|
||||
// We can only get here when we're running in our desktop app (since
|
||||
// only that works with non-File uploadItems), and the thumbnail
|
||||
// generation failed. The scenarios are:
|
||||
//
|
||||
// - We're running under Electron, but thumbnail generation is not
|
||||
// available. This is currently only a specific scenario for image
|
||||
// files on Windows.
|
||||
// 1. We're trying to generate an image thumbnail on Windows or on
|
||||
// ARM64 Linux. This won't be possible since the bundled
|
||||
// imagemagick doesn't yet support these OS/arch combinations.
|
||||
//
|
||||
// - We're running under the Electron, but the thumbnail generation
|
||||
// otherwise failed for some exception.
|
||||
// 2. We're trying to generate a video thumbnail on Intel macOS.
|
||||
// This won't be possible since the bundled ffmpeg doesn't
|
||||
// support Rosetta.
|
||||
//
|
||||
// 3. Some other arbitrary exception happened.
|
||||
//
|
||||
// The fallback in this case involves reading the entire stream into
|
||||
// memory, and passing that data across the IPC boundary in a single
|
||||
// go (i.e. not in a streaming manner). This is risky for videos of
|
||||
// unbounded sizes, plus we shouldn't even be getting here unless
|
||||
// something went wrong.
|
||||
//
|
||||
// So instead of trying to cater for arbitrary exceptions, we only
|
||||
// run this fallback to cover for the case where thumbnail
|
||||
// generation was not available for an image file on Windows.
|
||||
// If/when we add support of native thumbnailing on Windows too,
|
||||
// this entire branch can be removed.
|
||||
// unbounded sizes, so we can only apply this fallback for images.
|
||||
|
||||
if (fileTypeInfo.fileType == FILE_TYPE.IMAGE) {
|
||||
const data = await readEntireStream(fileStream.stream);
|
||||
|
||||
Reference in New Issue
Block a user