Skip to content

[image_picker] Extremely slow video selection with MOV format on iOS devices and Simulator #176355

@Harunn33

Description

@Harunn33

Extremely slow video selection with MOV format on iOS devices and Simulator

Description

Video selection is extremely slow (10-30+ seconds) when picking MOV format videos on iOS (both physical devices and Simulator) using image_picker. The same videos load instantly with file_picker. This issue does not occur on Android devices.

Steps to Reproduce

  1. Use image_picker to pick a video from gallery on iOS (device or Simulator)
  2. Select a video in MOV format (typically recorded with iPhone camera)
  3. Observe the loading time

Code sample:

import 'package:image_picker/image_picker.dart';

final ImagePicker picker = ImagePicker();
final XFile? video = await picker.pickVideo(
  source: ImageSource.gallery,
);
// Takes 10-30+ seconds to return on iOS with MOV files

Expected results

  • Video selection should complete within 1-2 seconds
  • User should be able to select MOV format videos without noticeable delay
  • Performance should be consistent across platforms
  • The behavior should match file_picker package performance with the same MOV files

Actual results

  • Video selection takes 10-30+ seconds when picking MOV format videos on iOS
  • The app appears frozen/unresponsive during this time with no loading indicator
  • iOS Simulator: Same delay issue (10-30+ seconds)
  • Physical iOS devices: Same delay issue (10-30+ seconds)
  • Android devices: Works fine, no delay
  • Same MOV files with file_picker: Loads instantly (under 1 second)

Code sample

import 'package:image_picker/image_picker.dart';

final ImagePicker picker = ImagePicker();
final XFile? video = await picker.pickVideo(
  source: ImageSource.gallery,
);
// Takes 10-30+ seconds to return on iOS with MOV files

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Logs
[Paste your logs here]

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.32.5, on macOS 15.5 24F74 darwin-arm64, locale en-TR)
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2025.1)
[✓] VS Code (version 1.104.2)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

Additional Information

  • Package versions:
    • image_picker: 1.2.0
    • image_picker_ios: 0.0.1
  • Tested on:
    • iPhone 16 Pro Max (Simulator) - iOS 18.5
    • iPhone 15 Pro Max (Physical device) - iOS 26

Comparison with file_picker

The same MOV files can be selected instantly (< 1 second) using the file_picker package, suggesting this might be related to how image_picker processes or validates video files on iOS.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)found in release: 3.36Found to occur in 3.36found in release: 3.37Found to occur in 3.37has reproducible stepsThe issue has been confirmed reproducible and is ready to work onp: image_pickerThe Image Picker plugin.packageflutter/packages repository. See also p: labels.perf: speedPerformance issues related to (mostly rendering) speedplatform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamtriaged-iosTriaged by iOS platform team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions