 
         asset.wait(for: .characteristics, then: selectDefaultMediaOptionIfNeeded)
         asset.wait(for: .duration, then: durationAvailable)
+        setupObservers()
         addObservers()
     }
 

            player.observe(\.timeControlStatus) { [weak self] player, _ in self?.triggerStallingIfNeeded(player) },
            player.observe(\.rate, options: .prior) { [weak self] player, changes in self?.handlePlayerRateChanged(player, changes) },
        ]

        NotificationCenter.default.addObserver(
            self,

    }
    #endif

    @objc internal func setupObservers() {
        guard let player = player else { return }
        self.observers += [
            view.observe(\.bounds) { [weak self] view, _ in self?.maximizePlayer(within: view) },
