JUST ENDED
|

HTTP Live Streaming Q&A

Connect with Apple engineers in the HTTP Live Streaming Q&A on the Apple Developer Forums.

Post

Replies

Boosts

Views

Activity

FairPlay multi key encryption in Safari on macOS
Is FairPlay multi key encryption supposed to work in Safari 26 on macOS? It stopped working for us some time last year. The very same content works on iOS in AVPlayer and single key encryption works fine. On macOS, the multi key content sometimes plays, sometimes not. It is as if there was some race condition on how fast the KSM responds with content keys. Very often, I can see just one KSM request in network console (instead of multiple for each video profile and audio) and the playback fails with Video error: code=3 msg=Media failed to decode. We've filed a Code Level Support ticket (19025185) and a bug report (FB22353469), but haven't really heard back. Just that engineering is actively investigating this issue, and was able to reproduce it.
1
1
46
2h
Updating downloaded manifest
Following up on: https://feedbackassistant.apple.com/feedback/22501602 We have a downloaded .movpkg (via AVAggregateAssetDownloadTask) where we need to update #EXT-X-DATERANGE tag URLs in the manifest Apple Developer Technical Support (FB15965814) confirmed "it is perfectly fine to update the m3u8 playlist inside the movpkg if that works well for you." Can you confirm this is safe to rely on long-term and won't break in future OS updates? Is there anything we should watch out for (e.g., movpkg integrity checks, asset download storage manager interactions)?
1
0
36
2h
AVAssetResourceLoaderDelegate and error handling
If we are using an AVAssetResourceLoaderDelegate, and performing our own playlist requests using a URLSession, what are some best practices for responding to the resource loading requests with errors? In other words, how best to populate the NSError domain, code, and userInfo values when calling finishLoadingWithError? SImilarly, are there any things to look out for when the URLSession has caching enabled, and we receive HTTP 304s for live playlists? The URLSession appears to transparently handle the 304, and return a 200 with the cached data in the URLSession callbacks. But could there be edge cases where the URLSession’s cache is becoming invalid just as we get a 304?
3
0
80
2h
FairPlay multi key encryption in Safari on macOS
Is FairPlay multi key encryption supposed to work in Safari 26 on macOS? It stopped working for us some time last year. The very same content works on iOS in AVPlayer and single key encryption works fine. On macOS, the multi key content sometimes plays, sometimes not. It is as if there was some race condition on how fast the KSM responds with content keys. Very often, I can see just one KSM request in network console (instead of multiple for each video profile and audio) and the playback fails with Video error: code=3 msg=Media failed to decode. We've filed a Code Level Support ticket (19025185) and a bug report (FB22353469), but haven't really heard back. Just that engineering is actively investigating this issue, and was able to reproduce it.
Replies
1
Boosts
1
Views
46
Activity
2h
Updating downloaded manifest
Following up on: https://feedbackassistant.apple.com/feedback/22501602 We have a downloaded .movpkg (via AVAggregateAssetDownloadTask) where we need to update #EXT-X-DATERANGE tag URLs in the manifest Apple Developer Technical Support (FB15965814) confirmed "it is perfectly fine to update the m3u8 playlist inside the movpkg if that works well for you." Can you confirm this is safe to rely on long-term and won't break in future OS updates? Is there anything we should watch out for (e.g., movpkg integrity checks, asset download storage manager interactions)?
Replies
1
Boosts
0
Views
36
Activity
2h
AVAssetResourceLoaderDelegate and error handling
If we are using an AVAssetResourceLoaderDelegate, and performing our own playlist requests using a URLSession, what are some best practices for responding to the resource loading requests with errors? In other words, how best to populate the NSError domain, code, and userInfo values when calling finishLoadingWithError? SImilarly, are there any things to look out for when the URLSession has caching enabled, and we receive HTTP 304s for live playlists? The URLSession appears to transparently handle the 304, and return a 200 with the cached data in the URLSession callbacks. But could there be edge cases where the URLSession’s cache is becoming invalid just as we get a 304?
Replies
3
Boosts
0
Views
80
Activity
2h