Repository navigation
release: v1.1.2 - #218
Merged
Merged
release: v1.1.2#218
Conversation
A camera stores a portrait recording as landscape pixels plus a preferredTransform, and the front camera may add a mirror. A layer instruction's transform replaces that tag, and kadr never applied it, so every portrait iPhone clip exported and previewed sideways. The orientation of every source is now read from the composition's own segments once the clips are placed, and each clip is turned upright before it is scaled to fill. That covers plain chains, transitions (slide included), Tracks and free-floating clips, clip transforms and keyframes, and the preview player. Clips with different orientations on one track each keep their own. ReverseProcessor now copies the source's transform to the reversed file instead of dropping it. Transforms on a layer are collected and emitted once in time order, so the base layout and per-clip keyframes can't overwrite each other by call order. That also fixes a plain clip inheriting the previous clip's transform on the keyframe path.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Portrait and rotated videos now export upright. Update if your app imports clips recorded on an iPhone.
Fixed
Portrait and rotated videos export upright.
preferredTransform), and the front camera may add a mirror. kadr never read that tag, so every portrait iPhone clip exported and previewed sideways, stretched to fill the frame.A plain clip no longer inherits the previous clip's transform. On the keyframe path, a clip with no transform that followed a transformed clip on the same track kept that transform. It now returns to its own layout.
Behaviour note
When every source is stored upright, nothing changes.
For a rotated source, kadr now builds a video composition so the rotation can be applied. If the preset can't encode it, the export throws
KadrError.exportFailedinstead of writing a passthrough copy, which would have been sideways. This is the same rule 1.1.1 introduced for transitions and crop.Known gaps
MultiInputCompositorstill receives source frames as stored, unrotated.VideoClip.metadata.resolutionreports the stored size, not the displayed size.Both are tracked for a later release.
Full changelog: v1.1.1...v1.1.2