From b2e2e53e0556463464faa5ee09a7cb4810aa5ff6 Mon Sep 17 00:00:00 2001 From: Kamil Date: Fri, 12 Jul 2024 15:18:54 +0200 Subject: [PATCH] fix(android): handle aspect ratio for rotated videos --- .../java/com/brentvatne/exoplayer/ExoPlayerView.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java index ceec9965f9..d1ac522706 100644 --- a/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java +++ b/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java @@ -235,8 +235,16 @@ private void updateForCurrentTrackSelections(Tracks tracks) { // get the first track of the group to identify aspect ratio Format format = group.getTrackFormat(0); - // update aspect ratio ! - layout.setVideoAspectRatio(format.height == 0 ? 1 : (format.width * format.pixelWidthHeightRatio) / format.height); + // There are weird cases when video height and width did not change with rotation so we need change aspect ration to fix it + switch (format.rotationDegrees) { + // update aspect ratio ! + case 90, 270 -> { + layout.setVideoAspectRatio(format.width == 0 ? 1 : (format.height * format.pixelWidthHeightRatio) / format.width); + } + default -> { + layout.setVideoAspectRatio(format.height == 0 ? 1 : (format.width * format.pixelWidthHeightRatio) / format.height); + } + } return; } }