From 2d1c3754c4bda49e1c0c9740c896ba2d24765ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20M=C3=A9tais?= Date: Wed, 4 Dec 2019 13:36:59 +0100 Subject: [PATCH] Video player: Fix PiP aspect ratio Fix #1105 --- .../vlc/gui/video/VideoPlayerActivity.kt | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt index 03fd6358f..2626fb256 100644 --- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt +++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt @@ -625,19 +625,13 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle if (AndroidDevices.hasPiP && !forceLegacy) { if (AndroidUtil.isOOrLater) try { - videoLayout?.findViewById(R.id.surface_video)?.run { - val height = if (height != 0) height else mw.height - val width = Math.min(if (width != 0) width else mw.width, (height * 2.39f).toInt()) - enterPictureInPictureMode(PictureInPictureParams.Builder().setAspectRatio(Rational(width, height)).build()) - } + val track = service?.playlistManager?.player?.mediaplayer?.currentVideoTrack ?: return + val ar = Rational(track.width.coerceAtMost((track.height * 2.39f).toInt()), track.height) + enterPictureInPictureMode(PictureInPictureParams.Builder().setAspectRatio(ar).build()) } catch (e: IllegalArgumentException) { // Fallback with default parameters - enterPictureInPictureMode() } - else { - - enterPictureInPictureMode() - } + else enterPictureInPictureMode() } else { if (Permissions.canDrawOverlays(this)) { switchingView = true @@ -645,8 +639,7 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle if (service?.isPlaying != true) mw.addFlags(AbstractMediaWrapper.MEDIA_PAUSED) cleanUI() exitOK() - } else - Permissions.checkDrawOverlaysPermission(this) + } else Permissions.checkDrawOverlaysPermission(this) } } }