mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 03:20:48 +00:00
Various fixes
This commit is contained in:
parent
7dab239431
commit
8c2a06a3c8
@ -38,6 +38,8 @@ protocol MediaEditorVideoExportWriter {
|
|||||||
func markAudioAsFinished()
|
func markAudioAsFinished()
|
||||||
|
|
||||||
var status: ExportWriterStatus { get }
|
var status: ExportWriterStatus { get }
|
||||||
|
|
||||||
|
var error: Error? { get }
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class MediaEditorVideoAVAssetWriter: MediaEditorVideoExportWriter {
|
public final class MediaEditorVideoAVAssetWriter: MediaEditorVideoExportWriter {
|
||||||
@ -178,6 +180,10 @@ public final class MediaEditorVideoAVAssetWriter: MediaEditorVideoExportWriter {
|
|||||||
return .unknown
|
return .unknown
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var error: Error? {
|
||||||
|
return self.writer?.error
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class MediaEditorVideoExport {
|
public final class MediaEditorVideoExport {
|
||||||
@ -497,10 +503,16 @@ public final class MediaEditorVideoExport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if writer.status == .failed {
|
if writer.status == .failed {
|
||||||
|
if let error = writer.error {
|
||||||
|
Logger.shared.log("VideoExport", "Failed with writer error \(error.localizedDescription)")
|
||||||
|
}
|
||||||
try? FileManager().removeItem(at: outputUrl)
|
try? FileManager().removeItem(at: outputUrl)
|
||||||
self.internalStatus = .finished
|
self.internalStatus = .finished
|
||||||
self.statusValue = .failed(.writing(nil))
|
self.statusValue = .failed(.writing(nil))
|
||||||
} else if let reader = self.reader, reader.status == .failed {
|
} else if let reader = self.reader, reader.status == .failed {
|
||||||
|
if let error = reader.error {
|
||||||
|
Logger.shared.log("VideoExport", "Failed with reader error \(error.localizedDescription)")
|
||||||
|
}
|
||||||
try? FileManager().removeItem(at: outputUrl)
|
try? FileManager().removeItem(at: outputUrl)
|
||||||
writer.cancelWriting()
|
writer.cancelWriting()
|
||||||
self.internalStatus = .finished
|
self.internalStatus = .finished
|
||||||
@ -509,6 +521,9 @@ public final class MediaEditorVideoExport {
|
|||||||
writer.finishWriting {
|
writer.finishWriting {
|
||||||
self.queue.async {
|
self.queue.async {
|
||||||
if writer.status == .failed {
|
if writer.status == .failed {
|
||||||
|
if let error = writer.error {
|
||||||
|
Logger.shared.log("VideoExport", "Failed after finishWriting with writer error \(error.localizedDescription)")
|
||||||
|
}
|
||||||
try? FileManager().removeItem(at: outputUrl)
|
try? FileManager().removeItem(at: outputUrl)
|
||||||
self.internalStatus = .finished
|
self.internalStatus = .finished
|
||||||
self.statusValue = .failed(.writing(nil))
|
self.statusValue = .failed(.writing(nil))
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user