// Code generated by glex; DO NOT EDIT. // Lexicon schema: place.stream.playback.getVideoBlob package placestream import ( "bytes" "context" glex "github.com/streamplace/glex/runtime" ) // PlaybackGetVideoBlob calls the XRPC method "place.stream.playback.getVideoBlob". // // Fetch a content-addressed MUXL playback blob by CID. Serves either a primary fMP4 archive or a per-track init segment — both are CID-addressed and indistinguishable from the endpoint's point of view. HTTP `Range` headers are honored; HLS media playlists generated by getVideoPlaylist reference this endpoint with `EXT-X-BYTERANGE` to serve segments out of the primary blob. The `did` identifies the owning account for egress accounting: the blob itself is content-addressed and owner-agnostic, so the caller carries the attribution. // // cid: BLAKE-3 BDASL CID of the requested blob. // did: DID of the account that owns the record this blob is being served for. Used for egress/usage accounting, not for access control — the blob is served purely by CID. // sid: Opaque playback session identifier, propagated unmodified from the media playlist that referenced this blob. Logged for view-count correlation; not used for access control. func PlaybackGetVideoBlob(ctx context.Context, c glex.LexClient, cid string, did string, sid string) ([]byte, error) { buf := new(bytes.Buffer) params := map[string]interface{}{} if sid != "" { params["sid"] = sid } params["cid"] = cid params["did"] = did if err := c.LexDo(ctx, glex.Query, "", "place.stream.playback.getVideoBlob", params, nil, buf); err != nil { return nil, err } return buf.Bytes(), nil }