SRGSSR / pillarbox-apple

A next-generation reactive media playback ecosystem for Apple platforms.
https://testflight.apple.com/join/TS6ngLqf
MIT License
60 stars 9 forks source link

Add mandatory tracker support #971

Closed defagos closed 3 months ago

defagos commented 3 months ago

Description

This PR adds support for mandatory trackers. When creating an associated adapter with mandatory behavior, the tracker will never be affected by the isTrackingEnabled property anymore. This is especially useful for QoS / QoE trackers that, unlike analytics trackers, might be useful in all cases.

API design considerations

I considered many API design options and associated signatures, from a Boolean parameter to signatures including a when plus some enum parameter, but none felt natural to read. The current proposal is the best I could come up with from an expressiveness point of view.

Changes made

Checklist

waliid commented 3 months ago

Great job, thank you for this PR!

defagos commented 3 months ago

Thanks for the review and for noticing parameter odering inconsistencies. Should be fixed now.