diff --git a/core/src/main/java/org/futo/circles/core/extensions/UriExtensions.kt b/core/src/main/java/org/futo/circles/core/extensions/UriExtensions.kt
index a3c1da01d5d2475b1f9b2b24bf4f004b17e40564..acef6e4e7daf71d06234909285f39dab54f9200c 100644
--- a/core/src/main/java/org/futo/circles/core/extensions/UriExtensions.kt
+++ b/core/src/main/java/org/futo/circles/core/extensions/UriExtensions.kt
@@ -9,7 +9,6 @@ import androidx.core.database.getStringOrNull
 import org.futo.circles.core.feature.blurhash.ThumbHash
 import org.futo.circles.core.model.MediaAttachmentInfo
 import org.futo.circles.core.utils.ImageUtils
-import org.futo.circles.core.utils.MediaUtils.getOrientation
 import org.futo.circles.core.utils.VideoUtils
 import org.matrix.android.sdk.api.session.content.ContentAttachmentData
 
@@ -36,7 +35,7 @@ fun Uri.getFilename(context: Context): String? {
 suspend fun Uri.toImageContentAttachmentData(context: Context): ContentAttachmentData? {
     val attachmentInfo = getMediaAttachmentInfo(context) ?: return null
     val resolution = ImageUtils.getImageResolution(context, this)
-    val orientation = getOrientation(context, this)
+    val orientation = ImageUtils.getImageOrientation(context, this)
     return ContentAttachmentData(
         mimeType = attachmentInfo.mimeType,
         type = ContentAttachmentData.Type.IMAGE,
diff --git a/core/src/main/java/org/futo/circles/core/utils/ImageUtils.kt b/core/src/main/java/org/futo/circles/core/utils/ImageUtils.kt
index e33ad6cab8291adb91e0351acfc06d93f5c55e73..9747deaa598e266f99045936630dccf015af5ddc 100644
--- a/core/src/main/java/org/futo/circles/core/utils/ImageUtils.kt
+++ b/core/src/main/java/org/futo/circles/core/utils/ImageUtils.kt
@@ -17,7 +17,24 @@ object ImageUtils {
             null,
             options
         )
-        return getSizeBasedOnOrientation(context, uri, options.outWidth, options.outHeight)
+        return getSizeBasedOnOrientation(
+            getImageOrientation(context, uri),
+            options.outWidth,
+            options.outHeight
+        )
+    }
+
+    fun getImageOrientation(context: Context, uri: Uri): Int {
+        var orientation = 0
+        context.contentResolver.openInputStream(uri)?.use { inputStream ->
+            try {
+                ExifInterface(inputStream).let {
+                    orientation = it.rotationDegrees
+                }
+            } catch (ignore: Exception) {
+            }
+        }
+        return orientation
     }
 
 }
\ No newline at end of file
diff --git a/core/src/main/java/org/futo/circles/core/utils/MediaUtils.kt b/core/src/main/java/org/futo/circles/core/utils/MediaUtils.kt
index 535e29870b74c23c81ee6f37a4950db9f8a650d4..c6af09e1483548fefa05a7e6a41916e4f298a5fd 100644
--- a/core/src/main/java/org/futo/circles/core/utils/MediaUtils.kt
+++ b/core/src/main/java/org/futo/circles/core/utils/MediaUtils.kt
@@ -1,27 +1,10 @@
 package org.futo.circles.core.utils
 
-import android.content.Context
-import android.net.Uri
 import android.util.Size
-import androidx.exifinterface.media.ExifInterface
 
 object MediaUtils {
 
-    fun getOrientation(context: Context, uri: Uri): Int {
-        var orientation = 0
-        context.contentResolver.openInputStream(uri)?.use { inputStream ->
-            try {
-                ExifInterface(inputStream).let {
-                    orientation = it.rotationDegrees
-                }
-            } catch (ignore: Exception) {
-            }
-        }
-        return orientation
-    }
-
-    fun getSizeBasedOnOrientation(context: Context, uri: Uri, width: Int, height: Int): Size {
-        val orientation = getOrientation(context, uri)
+    fun getSizeBasedOnOrientation(orientation: Int, width: Int, height: Int): Size {
         return if (orientation == 90 || orientation == 270) Size(height, width)
         else Size(width, height)
     }
diff --git a/core/src/main/java/org/futo/circles/core/utils/VideoUtils.kt b/core/src/main/java/org/futo/circles/core/utils/VideoUtils.kt
index 809e3dad46ace5e61de839a26c75e216b7000d7f..ec4f465c56f0b23f06444bc4300dab195148f128 100644
--- a/core/src/main/java/org/futo/circles/core/utils/VideoUtils.kt
+++ b/core/src/main/java/org/futo/circles/core/utils/VideoUtils.kt
@@ -5,6 +5,7 @@ import android.media.MediaMetadataRetriever
 import android.net.Uri
 import android.util.Size
 import org.futo.circles.core.utils.MediaUtils.getSizeBasedOnOrientation
+import org.matrix.android.sdk.api.extensions.tryOrNull
 import java.util.concurrent.TimeUnit
 
 
@@ -25,9 +26,12 @@ object VideoUtils {
         retriever.setDataSource(context, uri)
         val height = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)
         val width = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)
+        val orientation = tryOrNull {
+            retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION)?.toInt()
+        } ?: 0
         retriever.release()
         getSizeBasedOnOrientation(
-            context, uri,
+            orientation,
             width?.toInt() ?: 0,
             height?.toInt() ?: 0
         )