Package-level declarations
Types
Points the Cast framework at the Bunny Stream receiver application.
Converts Media3 MediaItems to the Cast MediaInfo shape the Bunny receiver expects. media3's DefaultMediaItemConverter serializes a Media3-specific JSON payload the Bunny receiver ignores; this converter instead emits the documented Bunny sender contract:
Builds the Bunny receiver's LoadRequest customData: Widevine DRM configuration plus embed theming, mirroring what the web sender ships. The receiver validates every value and falls back to its defaults for anything missing, so fields are simply omitted when not configured.
Applies local track/rate selections to the active cast session via the standard media commands — the same messages the receiver gets from every other sender platform, so it needs no custom handling.
Receiver track IDs are assigned by the receiver from its own manifest parse (plus the sender's sideloaded caption tracks), so local track order need not match. Matching mirrors the web sender: language exact → language primary subtag → name.
A receiver media track, decoupled from the GMS MediaTrack class so the matching logic stays pure and unit-testable.