Releases: theRealRobG/HLSInterstitialKit
Update mamba to fix Xcode 16 compilation issues
What's Changed
- Update mamba to fix Xcode 16 compilation issues by @theRealRobG in #4
Full Changelog: 0.3.0...0.4.0
Implement X-ASSET-LIST for iOS/tvOS 16.1+
As of iOS 16.1 we are able to intercept X-ASSET-LIST requests via AVAssetResourceLoaderDelegate. This allows us to use this approach instead of multiple tags each with their own X-ASSET-URI. Their may not be much benefit to this approach; however, it is more in line with how a backend server may deliver an interstitial response, and so we prefer this usage over the former to better approximate how a server driven approach may look like.
In addition, some bugs with the event decisioning actor were fixed.
NOTE: This comes with a breaking change; instead of providing urls when creating HLSInterstitialEvent, you must provide assets, which contain a url: URL as well as a duration: Double. This change is needed to support the X-ASSET-LIST response.
New API for providing pre-rolls and manually timed mid-rolls
This change is made because it was difficult to have context of what kind of asset (VOD vs live) was being loaded when providing pre-roll interstitials (which is important as the resume offset should be indefinite for live and zero for VOD).
As part of this change I also introduced a new (hopefully more robust) way of handling event decisioning. This new method makes use of Swift Concurrency and so the minimum target of the package has been bumped to v13. Swift Concurrency was chosen as there is a decent amount of asynchronous waiting going on while making insertions into the manifest in response to AVFoundation loading requests, and Swift Concurrency makes handling these journeys much more convenient.
Initial release
Providing this release in order to be able to use elsewhere in testing new interstitial pre-roll functionality.