     
     public required init(options: Options) {
         super.init(options: options)
-        
-        asset = createAsset(from: options[kSourceUrl] as? String)
+        if let urlString = options[kSourceUrl] as? String, let url = URL(string: urlString) {
+            asset = AVURLAssetWithCookiesBuilder(url: url).asset
+        }
         
         player = createAVPlayer(with: asset, shouldLoop: options[kLoop] as? Bool ?? false)
         player.allowsExternalPlayback = isExternalPlaybackEnabled

                self?.hideSubtitleForSmallScreen()
            },
            player.observe(\.currentItem) { [weak self] player, _ in
                self?.updateAssetIfNeeded(player.currentItem)
                self?.itemInfo?.update(item: player.currentItem)
            },
            player.observe(\.currentItem?.status) { [weak self] player, _ in self?.handleStatusChangedEvent(player) },
            player.observe(\.currentItem?.loadedTimeRanges) { [weak self] player, _ in self?.triggerDidUpdateBuffer(with: player) },

        playerLayer = AVPlayerLayer(player: player)
        
        setAudioSessionCategory(to: .playback)
    }

    @objc public func setDelegate(_ delegate: AVAssetResourceLoaderDelegate) {
