Videos recorded on older iOS versions (including beta builds) play choppily in the Photos gallery preview layer, appearing to drop frames or have incorrect frame pacing. The same video plays perfectly smoothly when opened in Edit mode, and also plays smoothly after trimming even 1 frame and saving as a new clip — suggesting the source file is intact. The issue appears to be stale or incompatible preview proxy data / frame timing metadata (likely elst/ctts box mismatches) generated by older or beta AVFoundation versions, which the current PLPlaybackView fast-path renderer cannot handle correctly — while the full AVAsset decoder used in Edit mode tolerates these gracefully. No workaround exists to bulk-rebuild video proxies on iOS without manually trimming each clip. A “Rebuild Video Previews” option (similar to the Mac Photos library repair tool) would resolve this globally. Steps to reproduce: Open any video recorded on iOS 16 beta or earlier in the Photos gallery. Observe stuttering. Open same video in Edit mode — stuttering gone. Trim 1 frame, save — new clip plays smoothly in gallery too. Expected: Gallery preview plays at the same smoothness as Edit mode. Actual: Gallery preview stutters; Edit mode is smooth. HDR off. Most Compatible format enabled. Issue persists after reboot.
Thanks for the careful observation work — isolating the failure to gallery preview (not Edit mode), and confirming that a 1-frame trim resolves it, give a clear picture of the symptom.
For help with Photos, please post in the Apple Support Community. The Apple Developer Forums are for questions about APIs and features intended specifically for developers.
For the bug report and feature request specifically, Feedback Assistant is the channel that routes to Apple's engineering teams. A complete FB would include:
- the steps you've already described (the gallery-vs-Edit-mode difference, the 1-frame trim resolution)
- a sysdiagnose captured shortly after observing the stutter
- a sample video that reproduces the stutter
If you post the FB number here, I can route it internally.
If any of your work involves developer-facing AVFoundation playback (your own app rendering these files, for example), I'm happy to discuss that separately.