diff --git a/mobile/apps/photos/lib/services/video_preview_service.dart b/mobile/apps/photos/lib/services/video_preview_service.dart index b8dfec235a..e0ae78af6a 100644 --- a/mobile/apps/photos/lib/services/video_preview_service.dart +++ b/mobile/apps/photos/lib/services/video_preview_service.dart @@ -125,6 +125,10 @@ class VideoPreviewService { file.uploadedFileID!, ); if (alreadyInQueue) { + // File is already queued, but trigger processing in case it was stalled + if (uploadingFileId < 0) { + queueFiles(duration: Duration.zero, isManual: true, forceProcess: true); + } return false; // Indicates file was already in queue } @@ -1147,9 +1151,10 @@ class VideoPreviewService { void queueFiles({ Duration duration = const Duration(seconds: 5), bool isManual = false, + bool forceProcess = false, }) { Future.delayed(duration, () async { - if (_hasQueuedFile) return; + if (_hasQueuedFile && !forceProcess) return; final isStreamAllowed = isManual ? _allowManualStream() : _allowStream(); if (!isStreamAllowed) return;