diff --git a/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java index ceec9965..d1ac5227 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 @@ public final class ExoPlayerView extends FrameLayout implements AdViewProvider { // 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; } }