From fa7ccbd180a065a3f541a34f85ea9ec820fd7af1 Mon Sep 17 00:00:00 2001 From: Prateek Sunal Date: Thu, 28 Aug 2025 16:16:15 +0530 Subject: [PATCH] fix: if fileSize is null for manual way then skip 10MB check --- .../lib/services/video_preview_service.dart | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/mobile/apps/photos/lib/services/video_preview_service.dart b/mobile/apps/photos/lib/services/video_preview_service.dart index 929df89ae3..49f47f4e81 100644 --- a/mobile/apps/photos/lib/services/video_preview_service.dart +++ b/mobile/apps/photos/lib/services/video_preview_service.dart @@ -299,7 +299,8 @@ class VideoPreviewService { "Starting video preview generation for ${enteFile.displayName}", ); // elimination case for <=10 MB with H.264 - var (props, result, file) = await _checkFileForPreviewCreation(enteFile, isManual); + var (props, result, file) = + await _checkFileForPreviewCreation(enteFile, isManual); if (result) { removeFile = true; return; @@ -929,21 +930,28 @@ class VideoPreviewService { _logger.info("Skip Preview due to sv=1 for ${enteFile.displayName}"); return (null, true, null); } - if (enteFile.fileSize == null || enteFile.duration == null) { - _logger.warning( - "Skip Preview due to misisng size/duration for ${enteFile.displayName}", - ); - return (null, true, null); - } - final int size = enteFile.fileSize!; - final int duration = enteFile.duration!; - if (!isManual && (size >= 500 * 1024 * 1024 || duration > 60)) { - _logger.info("Skip Preview due to size: $size or duration: $duration"); - return (null, true, null); + if (!isManual) { + if (enteFile.fileSize == null || enteFile.duration == null) { + _logger.warning( + "Skip Preview due to misisng size/duration for ${enteFile.displayName}", + ); + return (null, true, null); + } + final int size = enteFile.fileSize!; + final int duration = enteFile.duration!; + if (size >= 500 * 1024 * 1024 || duration > 60) { + _logger.info("Skip Preview due to size: $size or duration: $duration"); + return (null, true, null); + } } FFProbeProps? props; File? file; bool skipFile = false; + if (enteFile.fileSize == null && isManual) { + return (props, skipFile, file); + } + + final size = enteFile.fileSize ?? 0; try { final isFileUnder10MB = size <= 10 * 1024 * 1024; if (isFileUnder10MB) {