                     player?.removeTimeObserver(timeObserver)
                 }
                 
+                player?.currentItem?.asset.cancelLoading()
                 player?.replaceCurrentItem(with: nil)
                 player = nil
                 observer = nil

    fileprivate var player: AVPlayer? {
        get { return playerLayer?.player }
        set { playerLayer?.player = newValue }
    }
    
    private var naturalSize: CGSize? {

                }
                
                if let item = player?.currentItem {
                    let key = "availableMediaCharacteristicsWithMediaSelectionOptions"
                    item.asset.loadValuesAsynchronously(forKeys: [key]) { [weak self] in
                        var error: NSError? = nil
                        let status = item.asset.statusOfValue(forKey: key, error: &error)
                        guard case .loaded = status else { return }
                        for characteristic in item.asset.availableMediaCharacteristicsWithMediaSelectionOptions {
                            guard let group = item.asset.mediaSelectionGroup(
                                forMediaCharacteristic: characteristic)
                                else { return }
                            let selectedOption = item.selectedMediaOption(in: group)
                            switch characteristic {
                            case AVMediaCharacteristicAudible:
                                self?.dispatch?(.audibleSelectionGroup(
                                    .init(
                                        selectedOption: selectedOption,
                                        group: group)))
                            case AVMediaCharacteristicLegible:
                                self?.dispatch?(.legibleSelectionGroup(
                                    .init(
                                        selectedOption: selectedOption,
                                        group: group)))
                            default: break
                            }
                        }
                    }
                }
