         aspectRatioConstraint = constraint
     }
 
-    @objc private func stopPlayback() {
-        url = nil
+    @objc private func stopPlayback(andResetUrl reset: Bool = true) {
+        if reset {
+            url = nil
+        }
         playerObserver = nil
         playerView?.playerLayer.player = nil
         mjpegRequest?.cancel()
         mjpegRequest = nil
+        self.mainImageView?.image = nil
     }
 }
 

                    let aspectRatio = image.size.width / image.size.height
                    self.activityIndicator.isHidden = true
                    self.updateAspectRatio(forView: self.mainImageView, aspectRatio: aspectRatio)
                    self.didLoad?()
                }
                self.mainImageView?.image = image
            }

        bringSubviewToFront(activityIndicator)
        activityIndicator.isHidden = false
        activityIndicator.startAnimating()
        stopPlayback(andResetUrl: false)

        guard let url = url else {
            stopPlayback()
