mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix rare bug in sent video dimensions calculation
This commit is contained in:
parent
612f5eeef1
commit
0ce318b205
@ -17,7 +17,7 @@
|
||||
|
||||
- (CGSize)originalSize
|
||||
{
|
||||
AVAssetTrack *track = self.tracks.firstObject;
|
||||
AVAssetTrack *track = [self tracksWithMediaType:AVMediaTypeVideo].firstObject;
|
||||
return CGRectApplyAffineTransform((CGRect){ CGPointZero, track.naturalSize }, track.preferredTransform).size;
|
||||
}
|
||||
|
||||
|
@ -110,6 +110,17 @@ private func preparedShareItem(account: Account, to peerId: PeerId, value: [Stri
|
||||
}
|
||||
var finalDuration: Double = CMTimeGetSeconds(asset.duration)
|
||||
|
||||
func loadValues(_ avAsset: AVURLAsset) -> Signal<AVURLAsset, Void> {
|
||||
return Signal { subscriber in
|
||||
avAsset.loadValuesAsynchronously(forKeys: ["tracks", "duration", "playable"]) {
|
||||
subscriber.putNext(avAsset)
|
||||
}
|
||||
return EmptyDisposable
|
||||
}
|
||||
}
|
||||
|
||||
return loadValues(asset)
|
||||
|> mapToSignal { asset -> Signal<PreparedShareItem, Void> in
|
||||
let preset = adjustments?.preset ?? TGMediaVideoConversionPresetCompressedMedium
|
||||
let finalDimensions = TGMediaVideoConverter.dimensions(for: asset.originalSize, adjustments: adjustments, preset: preset)
|
||||
|
||||
@ -139,6 +150,7 @@ private func preparedShareItem(account: Account, to peerId: PeerId, value: [Stri
|
||||
return .single(.done(.media(media)))
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if let data = value["data"] as? Data {
|
||||
let fileName = value["fileName"] as? String
|
||||
let mimeType = (value["mimeType"] as? String) ?? "application/octet-stream"
|
||||
|
Loading…
x
Reference in New Issue
Block a user