Skip to content

Changelog


2026-06-15

Payload building moved out of domain into StreamerClient

Why: buildCastisPayload was living in domain/playback/helper.go, meaning the playback domain had to know Castis-specific field names ("transcoders", top-level "url"). That knowledge belongs with the client that talks to Castis, not the domain orchestrating channels.

What changed: Moved to pkg/StreamerClient/client.go as BuildPayload. playback/helper.go's buildCastisPayload deleted; call sites updated to streamerclient.BuildPayload(...).

CoreAPI: domain/playback, pkg/StreamerClient


Earlier

  • BuildStreamID, CreateStream, DeleteStream, GetStreams, GetTraffic, PlaybackURL, ProbeUDP established as the initial client surface, called from domain/playback channel create/delete flows.
  • service.Streamer established as the DB record passed into every client function — Host/APIPort for server-side calls, PublicHost/HTTPPort for browser-facing playback URLs.