Hey, I've run into this problem and I've found that using
let strongReferenceToDelegate = ResourceLoaderDelegate()
let asset = /* some AVAsset */
(asset as? AVURLAsset)?.resourceLoader.setDelegate(strongReferenceToDelegate, queue: .main)
where ResourceLoaderDelegate is simply:
extension ResourceLoaderDelegate: AVAssetResourceLoaderDelegate {
}
resolved the issue for me. Unfortunately I couldn't tell you why this works, I suspect it's a bug with the implementation. If this works for you, and you can figure out whats going on, please let us know as I'd like to understand this as well.
Topic:
Programming Languages
SubTopic:
Swift
Tags: