     // MARK: - Components
     
     @IBOutlet open weak var controlsView: UIView?
+    @IBOutlet open weak var controlsParentView: UIView?
     @IBOutlet open weak var mediaView: UIView?
     @IBOutlet open weak var timeSlider: UISlider?
     @IBOutlet open weak var minTimeLabel: UILabel?

        let timer = DispatchTime.now() + .seconds(autoHideControlsTime)
        DispatchQueue.main.asyncAfter(deadline: timer, execute: {
            // we're checking it again cause it may be scheduled to execute.
            if self.canToggleControls {
                self.showControls(false)
            }
        })

extension AwesomeMediaView {
    
    open func setup(mediaPath: String, coverImagePath: String? = nil, authorName: String? = nil, title: String? = nil, downloadPath: String? = nil, mediaMarkers: [AwesomeMediaMarker]? = nil, showHours: Bool = false, replaceCurrent: Bool = false, startPlaying: Bool = false) {
        
        viewModel.set(mediaPath: mediaPath, coverImagePath: coverImagePath, authorName: authorName, title: title, downloadPath: downloadPath, mediaMarkers: mediaMarkers, showHours: showHours)
        
        _ = AwesomeMedia.shared.prepareMedia(withUrl: viewModel.mediaUrl, replaceCurrent: replaceCurrent, startPlaying: startPlaying)
