From 648e2c378d4bc302c14f03f3e300f130aed7bbd3 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Thu, 24 Aug 2023 09:41:58 +0200 Subject: [PATCH] Fix sent videos being cropped (#1124) --- changelog.d/862.bugfix | 1 + .../android/libraries/mediaupload/VideoCompressor.kt | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 changelog.d/862.bugfix diff --git a/changelog.d/862.bugfix b/changelog.d/862.bugfix new file mode 100644 index 0000000000..30715a76e3 --- /dev/null +++ b/changelog.d/862.bugfix @@ -0,0 +1 @@ +Videos sent from the app were cropped in some cases. diff --git a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/VideoCompressor.kt b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/VideoCompressor.kt index e7e294cd7c..5587eedfa4 100644 --- a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/VideoCompressor.kt +++ b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/VideoCompressor.kt @@ -20,6 +20,8 @@ import android.content.Context import android.net.Uri import com.otaliastudios.transcoder.Transcoder import com.otaliastudios.transcoder.TranscoderListener +import com.otaliastudios.transcoder.resize.AtMostResizer +import com.otaliastudios.transcoder.strategy.DefaultVideoStrategy import io.element.android.libraries.androidutils.file.createTmpFile import io.element.android.libraries.androidutils.file.safeDelete import io.element.android.libraries.di.ApplicationContext @@ -35,6 +37,11 @@ class VideoCompressor @Inject constructor( fun compress(uri: Uri) = callbackFlow { val tmpFile = context.createTmpFile(extension = "mp4") val future = Transcoder.into(tmpFile.path) + .setVideoTrackStrategy( + DefaultVideoStrategy.Builder() + .addResizer(AtMostResizer(1920, 1080)) + .build() + ) .addDataSource(context, uri) .setListener(object : TranscoderListener { override fun onTranscodeProgress(progress: Double) {