     /// The default value is `AVLayerVideoGravityResizeAspect`. See `PlayerFillMode`.
     open var fillMode: PlayerFillMode {
         get {
+            if let playerVC = self._nativePlayerViewController {
+                return playerVC.videoGravity
+            }
             return self._playerView.fillMode
         }
         set {
-            self._playerView.fillMode = newValue
+            if let playerVC = self._nativePlayerViewController {
+                playerVC.videoGravity = newValue
+            } else {
+                self._playerView.fillMode = newValue
+            }
         }
     }
 

    /// Player view's initial background color.
    open var layerBackgroundColor: UIColor? {
        get {
            guard let backgroundColor = self._playerView.playerBackgroundColor
                else {
                    return nil
            }
            return backgroundColor
        }
        set {
            self._playerView.playerBackgroundColor = newValue
        }
    }
    

 
        self.playbackDelegate = nil
        self.removePlayerLayerObservers()
        if let playerVC = self._nativePlayerViewController {
            playerVC.player = nil
        } else {
            self._playerView.player = nil
        }
    }

    // MARK: - view lifecycle

    open override func viewDidLoad() {
        super.viewDidLoad()

        if useNativeUI {
            self._nativePlayerViewController = AVPlayerViewController()
        }

        if let playerVC = self._nativePlayerViewController {
            self.view.addSubview(playerVC.view)
            playerVC.view.translatesAutoresizingMaskIntoConstraints = false
            self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-\(0)-[subview]-\(0)-|", options: [], metrics: nil, views: ["subview": playerVC.view]))
            self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-\(0)-[subview]-\(0)-|", options: [], metrics: nil, views: ["subview": playerVC.view]))
            self.addChildViewController(playerVC)
        } else {
            self._playerView.playerIsHidden = false
            self.view = self._playerView
        }

        if let url = url {
            setup(url: url)
        } else if let asset = asset {
