#4094 - Added Opus Ogg support through FFmpegKit backed media conversion.

This commit is contained in:
Stefan Ceriu
2021-06-24 12:28:50 +03:00
parent 3ed8e348cd
commit 71fb68dbfc
7 changed files with 106 additions and 23 deletions
@@ -188,10 +188,23 @@ public class VoiceMessageController: NSObject, VoiceMessageToolbarViewDelegate,
// MARK: - Private
private func sendRecordingAtURL(_ url: URL) {
delegate?.voiceMessageController(self, didRequestSendForFileAtURL: url) { [weak self] success in
UINotificationFeedbackGenerator().notificationOccurred( (success ? .success : .error))
self?.deleteRecordingAtURL(url)
private func sendRecordingAtURL(_ sourceURL: URL) {
let destinationURL = sourceURL.deletingPathExtension().appendingPathExtension("opus")
VoiceMessageAudioConverter.convertToOpusOgg(sourceURL: sourceURL, destinationURL: destinationURL) { [weak self] result in
guard let self = self else { return }
switch result {
case .success:
self.delegate?.voiceMessageController(self, didRequestSendForFileAtURL: destinationURL) { [weak self] success in
UINotificationFeedbackGenerator().notificationOccurred((success ? .success : .error))
self?.deleteRecordingAtURL(sourceURL)
self?.deleteRecordingAtURL(destinationURL)
}
case .failure(let error):
MXLog.error("Failed failed encoding audio message with: \(error)")
}
}
}