diff --git a/docs/pages/component/events.mdx b/docs/pages/component/events.mdx
index 654cca67..a9c418de 100644
--- a/docs/pages/component/events.mdx
+++ b/docs/pages/component/events.mdx
@@ -203,7 +203,7 @@ Payload:
| ----------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| currentTime | number | Time in seconds where the media will start |
| duration | number | Length of the media in seconds |
-| naturalSize | object | Properties:
_ width - Width in pixels that the video was encoded at
_ height - Height in pixels that the video was encoded at
\* orientation - "portrait" or "landscape" |
+| naturalSize | object | Properties:
_ width - Width in pixels that the video was encoded at
_ height - Height in pixels that the video was encoded at
\* orientation - "portrait", "landscape" or "square" |
| audioTracks | array | An array of audio track info objects with the following properties:
_ index - Index number
_ title - Description of the track
_ language - 2 letter [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or 3 letter [ISO639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) language code
_ type - Mime type of track |
| textTracks | array | An array of text track info objects with the following properties:
_ index - Index number
_ title - Description of the track
_ language - 2 letter [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or 3 letter [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) language code
_ type - Mime type of track |
| videoTracks | array | An array of video track info objects with the following properties:
_ trackId - ID for the track
_ bitrate - Bit rate in bits per second
_ codecs - Comma separated list of codecs
_ height - Height of the video
\* width - Width of the video |
diff --git a/examples/basic/src/VideoPlayer.tsx b/examples/basic/src/VideoPlayer.tsx
index e437b2b1..806fed12 100644
--- a/examples/basic/src/VideoPlayer.tsx
+++ b/examples/basic/src/VideoPlayer.tsx
@@ -104,9 +104,13 @@ class VideoPlayer extends Component {
srcAllPlatformList = [
{
- description: 'local file',
+ description: 'local file landscape',
uri: require('./broadchurch.mp4'),
},
+ {
+ description: 'local file portrait',
+ uri: require('./portrait.mp4'),
+ },
{
description: '(hls|live) red bull tv',
uri: 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8',
diff --git a/examples/basic/src/portrait.mp4 b/examples/basic/src/portrait.mp4
new file mode 100644
index 00000000..0e4414c6
Binary files /dev/null and b/examples/basic/src/portrait.mp4 differ
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index d8f7f2a1..cf73fb5b 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -1290,8 +1290,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
}
}
- var width: Float?
- var height: Float?
+ var width: Float = 0
+ var height: Float = 0
var orientation = "undefined"
Task {
@@ -1299,20 +1299,11 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
if let videoTrack = tracks?.first {
width = Float(videoTrack.naturalSize.width)
height = Float(videoTrack.naturalSize.height)
- let preferredTransform = videoTrack.preferredTransform
-
- if (videoTrack.naturalSize.width == preferredTransform.tx
- && videoTrack.naturalSize.height == preferredTransform.ty)
- || (preferredTransform.tx == 0 && preferredTransform.ty == 0) {
- orientation = "landscape"
- } else {
- orientation = "portrait"
- }
} else if _playerItem.presentationSize.height != 0.0 {
width = Float(_playerItem.presentationSize.width)
height = Float(_playerItem.presentationSize.height)
- orientation = _playerItem.presentationSize.width > _playerItem.presentationSize.height ? "landscape" : "portrait"
}
+ orientation = width > height ? "landscape" : width == height ? "square" : "portrait"
if self._pendingSeek {
self.setSeek([
@@ -1342,8 +1333,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
"canStepBackward": NSNumber(value: _playerItem.canStepBackward),
"canStepForward": NSNumber(value: _playerItem.canStepForward),
"naturalSize": [
- "width": width != nil ? NSNumber(value: width!) : "undefinded",
- "height": width != nil ? NSNumber(value: height!) : "undefinded",
+ "width": width,
+ "height": height,
"orientation": orientation,
],
"audioTracks": audioTracks,