diff options
Diffstat (limited to 'patches/expo-image-picker+16.1.4.patch')
-rw-r--r-- | patches/expo-image-picker+16.1.4.patch | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/patches/expo-image-picker+16.1.4.patch b/patches/expo-image-picker+16.1.4.patch deleted file mode 100644 index 0396fecbc..000000000 --- a/patches/expo-image-picker+16.1.4.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt b/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt -index c863fb8..cde8859 100644 ---- a/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt -+++ b/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt -@@ -101,16 +101,30 @@ internal class MediaHandler( - val fileData = getAdditionalFileData(sourceUri) - val mimeType = getType(context.contentResolver, sourceUri) - -+ // Extract basic metadata -+ var width = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH) -+ var height = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT) -+ val rotation = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION) -+ -+ // Android returns the encoded width/height which do not take the display rotation into -+ // account. For videos recorded in portrait mode the encoded dimensions are often landscape -+ // (e.g. 1920x1080) paired with a 90°/270° rotation flag. iOS adjusts these values before -+ // reporting them, so to keep the behaviour consistent across platforms we swap the width -+ // and height when the rotation indicates the video should be displayed in portrait. -+ if (rotation % 180 != 0) { -+ width = height.also { height = width } -+ } -+ - return ImagePickerAsset( - type = MediaType.VIDEO, - uri = outputUri.toString(), -- width = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH), -- height = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT), -+ width = width, -+ height = height, - fileName = fileData?.fileName, - fileSize = fileData?.fileSize, - mimeType = mimeType, - duration = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_DURATION), -- rotation = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION), -+ rotation = rotation, - assetId = sourceUri.getMediaStoreAssetId() - ) - } catch (cause: FailedToExtractVideoMetadataException) { |