TimecodeKit icon indicating copy to clipboard operation
TimecodeKit copied to clipboard

AVFoundation Extensions Improvements

Open orchetect opened this issue 8 months ago • 0 comments

Currently, extension methods in TimecodeKit on AVFoundation objects (AVAsset, AVAssetTrack, AVMovie) are somewhat limited as far as reading and writing timecode track information.

1. Improve/Extend Functionality

Multiple timecode events are possible in a single timecode track, especially if a video track contains multiple edits.

The current implementation (as of TimecodeKit 2.0.10) covers the essential functionality of:

Ideally, support would be added for:

  • writing complex timelines with more than one timecode event
    • add an overload for addTimecodeTrack() and replaceTimecodeTrack() that takes a dictionary of [TimeInterval: Timecode] or something akin to it, keyed by time offsets from movie start with the timecode as values

2. Improve async/await Support

Numerous AVFoundation methods being used by TimecodeKit in order to read/write AVAsset/AVMovie data are using legacy (deprecated) synchronous methods on AVFoundation objects. It would be ideal to add async variants to TimecodeKit methods to use the newer asynchronous counterparts.

orchetect avatar Jun 14 '24 23:06 orchetect