mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-07 01:10:09 +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
|
- (CGSize)originalSize
|
||||||
{
|
{
|
||||||
AVAssetTrack *track = self.tracks.firstObject;
|
AVAssetTrack *track = [self tracksWithMediaType:AVMediaTypeVideo].firstObject;
|
||||||
return CGRectApplyAffineTransform((CGRect){ CGPointZero, track.naturalSize }, track.preferredTransform).size;
|
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)
|
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 preset = adjustments?.preset ?? TGMediaVideoConversionPresetCompressedMedium
|
||||||
let finalDimensions = TGMediaVideoConverter.dimensions(for: asset.originalSize, adjustments: adjustments, preset: preset)
|
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)))
|
return .single(.done(.media(media)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if let data = value["data"] as? Data {
|
} else if let data = value["data"] as? Data {
|
||||||
let fileName = value["fileName"] as? String
|
let fileName = value["fileName"] as? String
|
||||||
let mimeType = (value["mimeType"] as? String) ?? "application/octet-stream"
|
let mimeType = (value["mimeType"] as? String) ?? "application/octet-stream"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user