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;