Aspect ratio fixes

This commit is contained in:
Arkadiusz Fal 2022-07-11 18:21:03 +02:00
parent 79f801ea60
commit d3336b3ae1
4 changed files with 12 additions and 12 deletions

View File

@ -318,7 +318,7 @@ final class AVPlayerBackend: PlayerBackend {
return
}
self.model.aspectRatio = self.aspectRatio
self.updatePlayerAspectRatio()
if !preservingTime,
let segment = self.model.sponsorBlock.segments.first,

View File

@ -45,6 +45,7 @@ final class MPVBackend: PlayerBackend {
networkStateTimer.start()
if isPlaying {
self.updatePlayerAspectRatio()
startClientUpdates()
} else {
stopControlsUpdates()
@ -204,11 +205,9 @@ final class MPVBackend: PlayerBackend {
self.model.lastSkipped = segment
self.play()
self.model.aspectRatio = self.aspectRatio
}
} else {
self.play()
self.model.aspectRatio = self.aspectRatio
}
}
}

View File

@ -98,4 +98,10 @@ extension PlayerBackend {
model.advanceToItem(item)
}
}
func updatePlayerAspectRatio() {
DispatchQueue.main.async {
self.model.aspectRatio = aspectRatio
}
}
}

View File

@ -300,15 +300,10 @@ struct VideoPlayerView: View {
}
.overlay(GeometryReader { proxy in
Color.clear
.onAppear {
player.playerSize = proxy.size
}
.onChange(of: proxy.size) { _ in
player.playerSize = proxy.size
}
.onChange(of: player.controls.presentingOverlays) { _ in
player.playerSize = proxy.size
}
.onAppear { player.playerSize = proxy.size }
.onChange(of: proxy.size) { _ in player.playerSize = proxy.size }
.onChange(of: player.controls.presentingOverlays) { _ in player.playerSize = proxy.size }
.onChange(of: player.aspectRatio) { _ in player.playerSize = proxy.size }
})
#if os(iOS)
.padding(.top, player.playingFullScreen && verticalSizeClass == .regular ? 20 : 0)