For the manifest shown above, here is what we observe when downloading on an iOS 16 device vs an iOS 17+ device:
iOS 16 device — downloaded .movpkg contents:
v_6 (video) — Complete=YES, 1532 segment files. Downloaded correctly.
a_18 (audio, default) — Complete=YES, 1532 segment files. Downloaded correctly.
s_25 (subtitle) — directory not created in the .movpkg package.
s_31 (subtitle) — directory created, but contains only StreamInfoBoot.xml with Complete=NO, PeakBandwidth=0, MediaBytesStored=0. No segment files.
s_37 (subtitle) — directory not created.
s_43 (subtitle) — directory not created.
s_49 (subtitle) — directory not created.
Only 1 out of 5 subtitle tracks got a directory created, and it contains no segment data. We tested the same content on a second iOS 16 device — there, 2 out of 5 subtitle tracks got empty directories (different tracks). The behavior is inconsistent across devices.
When the user goes offline, AVFoundation sees the incomplete subtitle stream in the package and attempts to fetch the missing segments over the network, resulting in NSURLErrorNotConnectedToInternet (error -1009).
iOS 17+ device:
All 5 subtitle track directories are created and all contain segment data. Offline playback works without issues.
Topic:
Media Technologies
SubTopic:
Video
Tags: