I've found no documentation about this, but in my practical experience
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
(where url is a remote URL for an HLS live stream), will block the main thread if the network is down or for some reason the file cannot be read.
Has anyone else noticed this? I may end up changing my setup to use GCD to construct on a background thread. Because as it is the UI locks up any time videos can't be loaded.
The AVPlayerItem
loads things asynchronously, but AVURLAsset
does not seem to do this.