From 32215ffc2890d8b392838e4ab5c04271390144e4 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 8 Jan 2018 11:08:56 +0100 Subject: [PATCH] Set video aspect on initial creation Previously on first start of a video the aspect ratio was not correct (annoying on a 18:9 phone as it doesn't match the usual 16:9 aspect ratio). So extract the code into a setupVideoAspectRatio() helper and call it from surfaceCreated as well. --- .../activity/VideoplayerActivity.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java index 8531a7356..fb5c4d273 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java @@ -152,16 +152,9 @@ public class VideoplayerActivity extends MediaplayerActivity { @Override protected void onAwaitingVideoSurface() { + setupVideoAspectRatio(); if (videoSurfaceCreated && controller != null) { Log.d(TAG, "Videosurface already created, setting videosurface now"); - - Pair videoSize = controller.getVideoSize(); - if (videoSize != null && videoSize.first > 0 && videoSize.second > 0) { - Log.d(TAG, "Width,height of video: " + videoSize.first + ", " + videoSize.second); - videoview.setVideoSize(videoSize.first, videoSize.second); - } else { - Log.e(TAG, "Could not determine video size"); - } controller.setVideoSurface(videoview.getHolder()); } } @@ -199,6 +192,18 @@ public class VideoplayerActivity extends MediaplayerActivity { videoControlsHider.start(); } + private void setupVideoAspectRatio() { + if (videoSurfaceCreated && controller != null) { + Pair videoSize = controller.getVideoSize(); + if (videoSize != null && videoSize.first > 0 && videoSize.second > 0) { + Log.d(TAG, "Width,height of video: " + videoSize.first + ", " + videoSize.second); + videoview.setVideoSize(videoSize.first, videoSize.second); + } else { + Log.e(TAG, "Could not determine video size"); + } + } + } + private void toggleVideoControlsVisibility() { if (videoControlsShowing) { getSupportActionBar().hide(); @@ -247,7 +252,7 @@ public class VideoplayerActivity extends MediaplayerActivity { Log.e(TAG, "Couldn't attach surface to mediaplayer - reference to service was null"); } } - + setupVideoAspectRatio(); } @Override