From 33f0f1561bb3e0bc23a49e5c84513d41849d2160 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 4 Mar 2017 22:00:46 +0100 Subject: make video resolution configurable --- .../pixart/messenger/services/XmppConnectionService.java | 15 ++++++++++++++- src/main/res/values-de/strings.xml | 5 +++++ src/main/res/values/arrays.xml | 12 ++++++++++++ src/main/res/values/strings.xml | 7 ++++++- src/main/res/xml/preferences.xml | 7 +++++++ 5 files changed, 44 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index b2b3e5d68..1a662356e 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -555,7 +555,7 @@ public class XmppConnectionService extends Service { } }; MediaTranscoder.getInstance().transcodeVideo(fileDescriptor, file.getAbsolutePath(), - MediaFormatStrategyPresets.createAndroid720pStrategy(Config.VIDEO_BITRATE), listener); + MediaFormatStrategyPresets.createAndroidStandardStrategy(Config.VIDEO_BITRATE, getCompressVideosPreference()), listener); } @Override @@ -882,6 +882,19 @@ public class XmppConnectionService extends Service { return getPreferences().getString("picture_compression", "auto"); } + private int getCompressVideosPreference() { + switch (getPreferences().getString("video_compression", "high")) { + case "low": + return 144; + case "mid": + return 360; + case "high": + return 720; + default: + return 720; + } + } + private Presence.Status getTargetPresence() { if (xaOnSilentMode() && isPhoneSilenced()) { return Presence.Status.XA; diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 2da868dfd..ae3d33496 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -692,5 +692,10 @@ Fange an zu schreiben… Maximale Helligkeit Maximale Helligkeit aktivieren, wenn Videos oder Bilder im Vollbild betracht werden. + Videos komprimieren + Videogröße anpassen und komprimieren + hoch (720p) + niedrig (144p) + mittelmäßig (360p) diff --git a/src/main/res/values/arrays.xml b/src/main/res/values/arrays.xml index c0f9ca881..b61a512ae 100644 --- a/src/main/res/values/arrays.xml +++ b/src/main/res/values/arrays.xml @@ -70,6 +70,18 @@ @string/always + + low + mid + high + + + + @string/video_low + @string/video_mid + @string/video_high + + @string/never @string/contacts diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index fd109379b..0003d131e 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -584,8 +584,13 @@ Notify only when highlighted Notifications disabled Notifications paused - Compress Pictures + Compress pictures Resize and compress pictures + Compress videos + Resize and compress videos + low (144p) + middle (360p) + high (720p) Always Automatically Battery optimizations enabled diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml index fe21e2390..ba428aeb3 100644 --- a/src/main/res/xml/preferences.xml +++ b/src/main/res/xml/preferences.xml @@ -120,6 +120,13 @@ android:key="picture_compression" android:summary="@string/pref_picture_compression_summary" android:title="@string/pref_picture_compression" /> +