mpv: remove video layer when entering background

- fixes #792

Signed-off-by: Toni Förster <toni.foerster@gmail.com>
This commit is contained in:
Toni Förster 2024-09-03 14:58:18 +02:00
parent 2d7a101ce0
commit 98f5b1a22b
No known key found for this signature in database
GPG Key ID: 292F3E5086C83FC7

View File

@ -979,7 +979,11 @@ final class PlayerModel: ObservableObject {
func handleEnterForeground() { func handleEnterForeground() {
setNeedsDrawing(presentingPlayer) setNeedsDrawing(presentingPlayer)
if !musicMode, activeBackend == .appleAVPlayer { if !musicMode, activeBackend == .mpv {
mpvBackend.addVideoTrackFromStream()
mpvBackend.setVideoToAuto()
mpvBackend.controls.resetTimer()
} else if !musicMode, activeBackend == .appleAVPlayer {
avPlayerBackend.bindPlayerToLayer() avPlayerBackend.bindPlayerToLayer()
} }
@ -1005,8 +1009,10 @@ final class PlayerModel: ObservableObject {
func handleEnterBackground() { func handleEnterBackground() {
if Defaults[.pauseOnEnteringBackground], !playingInPictureInPicture, !musicMode { if Defaults[.pauseOnEnteringBackground], !playingInPictureInPicture, !musicMode {
pause() pause()
} else if !playingInPictureInPicture { } else if !playingInPictureInPicture, activeBackend == .appleAVPlayer {
avPlayerBackend.removePlayerFromLayer() avPlayerBackend.removePlayerFromLayer()
} else if activeBackend == .mpv, !musicMode {
mpvBackend.setVideoToNo()
} }
#if os(iOS) #if os(iOS)
guard playingFullScreen else { return } guard playingFullScreen else { return }