diff --git a/package/ios/Core/ChunkedRecorder.swift b/package/ios/Core/ChunkedRecorder.swift index 91b42dd..2a5cd2d 100644 --- a/package/ios/Core/ChunkedRecorder.swift +++ b/package/ios/Core/ChunkedRecorder.swift @@ -56,28 +56,32 @@ extension ChunkedRecorder: AVAssetWriterDelegate { private func saveInitSegment(_ data: Data) { let url = outputURL.appendingPathComponent("init.mp4") - save(data: data, url: url) - onChunkReady(url: url, type: .initialization) + if save(data: data, url: url) { + onChunkReady(url: url, type: .initialization) + } } private func saveSegment(_ data: Data, report: AVAssetSegmentReport?) { let name = "\(chunkIndex).mp4" let url = outputURL.appendingPathComponent(name) - save(data: data, url: url) - let duration = report? - .trackReports - .filter { $0.mediaType == .video } - .first? - .duration - onChunkReady(url: url, type: .data(index: chunkIndex, duration: duration)) - chunkIndex += 1 + if save(data: data, url: url) { + let duration = report? + .trackReports + .filter { $0.mediaType == .video } + .first? + .duration + onChunkReady(url: url, type: .data(index: chunkIndex, duration: duration)) + chunkIndex += 1 + } } - private func save(data: Data, url: URL) { + private func save(data: Data, url: URL) -> Bool { do { try data.write(to: url) + return true } catch { ReactLogger.log(level: .error, message: "Unable to write \(url): \(error.localizedDescription)") + return false } }