= OperationQueue() ◦ session = URLSession(configuration: configuration, delegate: self, delegateQueue: downloadQueue) • URLSessionDownloadTask - iOS 9, 10, 11, 12 (only file download - MP4, no HLS) ◦ session.downloadTask(with: URLRequest) • AVAssetDownloadTask - iOS 10, 11, 12 (HLS without automatic download of tracks) ◦ downloadTask = assetSessionManager.makeAssetDownloadTask(asset: urlAsset, ...) • AVAggregateAssetDownloadTask - iOS 11, 12 (HLS with automatic download of tracks) ◦ downloadTask = assetSessionManager.aggregateAssetDownloadTask(with: urlAsset, mediaSelections: urlAsset.allMediaSelections, ...)