full diff

place.stream.playback.getVideoBlob

stream.place +2 −1
From
bafyreigvbd2c52djcp3vzueml4acf4xnb7bd5nkmvv5z3tyrae5zsdtsvi indexed 2026-11-04 01:29 UTC View this version
To
bafyreige2qfznyre3c6vfyfrk2cjldscyjhns5hahueqvqoiikkquvhsfq indexed 2026-08-20 16:30 UTC View this version

Compatibility

backward compatible Backward compatible. 2 non-breaking changes.

Non-breaking changes (2)
  • AddedVertex AddedVertex { vertex_id: "place.stream.playback.getVideoBlob:output" }
  • AddedEdge AddedEdge { src: "place.stream.playback.getVideoBlob", tgt: "place.stream.playback.getVideoBlob:output", kind: "prop", name: Some("output") }

Migration guidance

Added

  • AddedVertex { vertex_id: "place.stream.playback.getVideoBlob:output" }

Notes

  • Non-breaking: AddedEdge { src: "place.stream.playback.getVideoBlob", tgt: "place.stream.playback.getVideoBlob:output", kind: "prop", name: Some("output") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "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.",
66 "errors": [
77 {
88 "description": "This node doesn't have the requested CID. The caller should consult place.stream.media.origin records to find a node that does.",
99 "name": "BlobNotFound"
1010 }
1111 ],
1212 "output": {
13 "encoding": "video/mp4"
13 "encoding": "video/mp4",
14 "schema": null
1415 },
1516 "parameters": {
1617 "properties": {
1718 "cid": {
1819 "description": "BLAKE-3 BDASL CID of the requested blob.",
1920 "type": "string"
2021 },
2122 "did": {
2223 "description": "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.",
2324 "format": "did",
2425 "type": "string"
2526 },
2627 "sid": {
2728 "description": "Opaque playback session identifier, propagated unmodified from the media playlist that referenced this blob. Logged for view-count correlation; not used for access control.",
2829 "type": "string"
2930 }
3031 },
3132 "required": [
3233 "did",
3334 "cid"
3435 ],
3536 "type": "params"
3637 },
3738 "type": "query"
3839 }
3940 },
4041 "id": "place.stream.playback.getVideoBlob",
4142 "lexicon": 1
4243}