- save initialization and data chunks as individual files
- ChunkType identifies chunks as initialization or data chunks
- add onChunkReady callback to ChunkedRecorder
* feat: Use JSI's `ArrayBuffer` instead of `TypedArray`
* fix: Fix move memory
* feat: Implement iOS
* Format
* Update JSIJNIConversion.cpp
* fix: Fix Android `toArrayBuffer` and other
* Catch FP call errors
* Update return type
* Use `CPU_READ_OFTEN` flag as well
* CPU flag
* Run destructors under `jni::ThreadScope`
* Update FrameProcessorPluginHostObject.cpp
* fix: Fix `toArrayBuffer()` crash
* Update Frame.ts
* feat: Create `TypedArray` class for Frame Processor Plugins
* Type
* feat: Pass `VisionCameraProxy` along (BREAKING)
* feat: Finish implementation
* Log a bit
* feat: Successfully convert JSI <> JNI buffers
* Wrap buffer
* fix: Fix using wrong Runtime
* feat: Add docs
* add zero copy example
* Format C++
* Create iOS base
* feat: Finish iOS implementation
* chore: Format
* fix: Use `NSData` instead of `NSMutableData`
* Format
* fix: Fix build when Frame Processors are disabled
* chore: Rename `TypedArray` to `SharedArray`
* fix: Fix Swift typings for Array
* Remove a few default inits
* fix: Fix Android build
* fix: Use `NSInteger`
* Update SharedArray.mm
* fix: Expose bytes directly on iOS (NSData was immutable)
* feat: Re-throw error on JS side instead of just logging on native side
* fix: Fix proxy
* fix: Fix app crash by only logging error
* fix: Use `global.ErrorUtils` (from reanimated)
* fix: Fix multi-Thread access on Java
* fix: Thread-lock access on iOS as well
* whoops add missing header impl
* Update Podfile.lock
* fix: Don't use `CFGetRetainCount`
* fix: Lock access on iOS as well
* C++ format
* More detailed error
* chore: Move getters into `Frame`
* Format c++
* Use enum `orientation` again
* format
* fix: Synchronize `isValid` on Java
* Also log pixelformat
* feat: Use Java enums in C++
* Format C++
* fix: Use `bitRate` multiplier instead of setting it to an absolute value
* Pass override
* Format
* Rename
* feat: Also implement Android
* fix: Log Mbps properly
* fix: Up-/Down-scale bit-rate if different options
* fix: Parse in Manager
* Update RecordingSession+getRecommendedBitRate.kt
* fix: Fully synchronize `RecordingSession` to account for late Frames
* Restructure Code
* Update RecordingSession.swift
* Fix last audio timestamp not being used
* fix: Remove `capture/aborted` error
* Update RecordingSession.swift
* Don't log for every Frame
* Format
* fix: Add more logs
* perf: Init audio AVAssetWriter in parallel
* chore: Log Audio Session activation
* perf: Init Audio Session asynchronously
* chore: Log when category changed
* fix: Revert lazy audio initialization
* Update Podfile.lock
* Pass `sourceFormatHint` to video and audio AVAssetWriter
* fix: Remove `sourceFormatHint` from Video Asset Writer
* Use default options for Audio Asset Writer
* Update Podfile.lock
* Revert "Use default options for Audio Asset Writer"
This reverts commit e575a14c5342ddc7f9db557d5e3915328ed9e798.
* Add time logs
* fix: Don't synchronize audio buffers, they are already in sync
* shouldOptimizeForNetworkUse = false
* fix: Only update `latestTimestamp` once video buffer has been written
* perf: Use `AVAssetWriterInput` instead of `AVAssetWriterInputPixelBufferAdaptor`
* fix: Fix Audio not being synchronized with Video
* Remove logs add comments
* Format
* feat: Set `.videoRecording` AVAudioSession mode
* Refactor `startRecording()` a bit
* Format
* chore: Throw error directly instead of double-checking
* feat: Split `videoHdr` and `photoHdr` into two settings
* fix: Rename all `hdr`
* fix: Fix HDR on Android
* Update CameraDeviceDetails.kt
* Update CameraDeviceDetails.kt
* fix: Correctly configure `pixelFormat` AFTER `format`
* Update CameraSession+Configuration.swift
* fix: Also after format changed