Swiftpack.co - theRealRobG/HLSInterstitialKit as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by theRealRobG.
theRealRobG/HLSInterstitialKit 0.3.0
Provides a manifest stitching approach to integrate with the new proposal for HLS Interstitials.
⭐️ 0
🕓 2 weeks ago
iOS tvOS
.package(url: "https://github.com/theRealRobG/HLSInterstitialKit.git", from: "0.3.0")


This package is intended to provide a manifest stitching approach to integrate with the new proposal for HLS Interstitials. This is more of a fun side-project, that demonstrates the concept of client-side manifest stitching as a methodology for modifying playback, because Apple are providing an official client API for scheduling interstitial events, and so there is actually little to no technical reason to use this methodology (as far as I can see).

The implementation is based on revision 1.0b3 of the Getting Started With HLS Interstitials guide.

This repo contains the Sources for the manifest stitching approach, and also, a reference app that demonstrates utilisation and functionality of the package. Currently, the reference app has a hard-coded expectation of which provisioning profile it expects, but anyone pulling the repo can just update this to one that makes sense for them; but bear in mind, that any provisioning profile used, will need to have the com.apple.developer.coremedia.hls.interstitial-preview entitlement.


Stars: 0
Last commit: 2 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

Implement X-ASSET-LIST for iOS/tvOS 16.1+
2 weeks ago

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.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics