diff --git a/vlc-android/res/values-fr/strings.xml b/vlc-android/res/values-fr/strings.xml index dc908963a31b1fa35e667b5debe05e6673dc1e10..ce532f6d67c8dac9488acd4a7526124321b7ccd6 100644 --- a/vlc-android/res/values-fr/strings.xml +++ b/vlc-android/res/values-fr/strings.xml @@ -53,6 +53,7 @@ Etes-vous sûr ? Verrouillé Déverrouillé + Ajuster au mieux Ajuster horizontalement Ajuster verticalement Etirer diff --git a/vlc-android/res/values/strings.xml b/vlc-android/res/values/strings.xml index ff6cbea5cb5939498abbab0394bf942fb59892fd..541132bd53ea12030f47eaffcebc6cc6207cb245 100644 --- a/vlc-android/res/values/strings.xml +++ b/vlc-android/res/values/strings.xml @@ -54,6 +54,7 @@ Are you sure? Locked Unlocked + Best fit Fit horizontal Fit vertical Fill diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java index ba38e0445551eb9e9bfaa8200d0a0ae4d0d790a7..35c360e7b7d6b98ae93c3d3959355d6e3c48d9e3 100644 --- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java +++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java @@ -73,13 +73,14 @@ public class VideoPlayerActivity extends Activity { private SurfaceHolder mSurfaceHolder; private LibVLC mLibVLC; - private static final int SURFACE_FIT_HORIZONTAL = 0; - private static final int SURFACE_FIT_VERTICAL = 1; - private static final int SURFACE_FILL = 2; - private static final int SURFACE_16_9 = 3; - private static final int SURFACE_4_3 = 4; - private static final int SURFACE_ORIGINAL = 5; - private int mCurrentSize = SURFACE_FIT_HORIZONTAL; + private static final int SURFACE_BEST_FIT = 0; + private static final int SURFACE_FIT_HORIZONTAL = 1; + private static final int SURFACE_FIT_VERTICAL = 2; + private static final int SURFACE_FILL = 3; + private static final int SURFACE_16_9 = 4; + private static final int SURFACE_4_3 = 5; + private static final int SURFACE_ORIGINAL = 6; + private int mCurrentSize = SURFACE_BEST_FIT; /** Overlay */ private View mOverlayHeader; @@ -403,6 +404,12 @@ public class VideoPlayerActivity extends Activity { double dar = (double) dw / (double) dh; switch (mCurrentSize) { + case SURFACE_BEST_FIT: + if (dar < ar) + dh = (int) (dw / ar); + else + dw = (int) (dh * ar); + break; case SURFACE_FIT_HORIZONTAL: dh = (int) (dw / ar); break; @@ -608,6 +615,9 @@ public class VideoPlayerActivity extends Activity { } changeSurfaceSize(); switch (mCurrentSize) { + case SURFACE_BEST_FIT: + showInfo(R.string.surface_best_fit, 500); + break; case SURFACE_FIT_HORIZONTAL: showInfo(R.string.surface_fit_horizontal, 500); break;