Add video compression prompt to share extension too.

This commit is contained in:
Doug 2021-08-16 20:01:35 +01:00
parent 9031412c02
commit a8d83088c7

View file

@ -1153,6 +1153,22 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
- (void)sendVideo:(NSURL *)videoLocalUrl toRoom:(MXRoom *)room successBlock:(dispatch_block_t)successBlock failureBlock:(void(^)(NSError *error))failureBlock
{
AVURLAsset *videoAsset = [[AVURLAsset alloc] initWithURL:videoLocalUrl options:nil];
MXWeakify(self);
UIAlertController *compressionPrompt = [MXKTools videoConversionPromptForVideoAsset:videoAsset withCompletion:^(NSString * _Nullable presetName) {
MXStrongifyAndReturnIfNil(self);
// If the preset name is nil, the user cancelled.
if (!presetName)
{
return;
}
// Set the chosen video conversion preset.
[MXSDKOptions sharedInstance].videoConversionPresetName = presetName;
[self didStartSendingToRoom:room];
if (!videoLocalUrl)
{
@ -1165,7 +1181,6 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
}
// Retrieve the video frame at 1 sec to define the video thumbnail
AVURLAsset *videoAsset = [[AVURLAsset alloc] initWithURL:videoLocalUrl options:nil];
AVAssetImageGenerator *assetImageGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:videoAsset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMake(1, 1);
@ -1186,6 +1201,9 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
failureBlock(error);
}
}];
}];
[self.delegate shareExtensionManager:self showImageCompressionPrompt:compressionPrompt];
}