Skip to content

RegisterTrackOptions

Defined in: relay-sdks/ts/src/publish.ts:66

What RelayPublisher.registerTrack needs. The namespace is the publisher connection’s; the generic core’s type of the same name spells it out as a field one level down.

track: string;

Defined in: relay-sdks/ts/src/publish.ts:68

Track name, unique within this publisher connection, including after its writer closes.


trackProperties?: readonly PublishProperty[];

Defined in: relay-sdks/ts/src/publish.ts:86

Track metadata sent to the relay. The SDK adds no default timescale; the relay may add, drop, or rewrite properties before delivery to subscribers. With moq-relay 0.17.0 every SUBSCRIBE_OK carries the relay’s track properties, not these, and a Timescale (0x08) here is what keeps supplied object Timestamps unchanged. See “Relay property handling” in spec/behavior.md. The list rides in every SUBSCRIBE_OK (and TRACK_STATUS_OK), so it must encode to at most 65525 bytes, hold at most 64 pairs (the relay’s limit) and keep 0x0E at most 255 and 0x22 at 1 or 2 (draft-22); otherwise the relay would refuse every subscriber, so registerTrack throws a RangeError instead.

An OBJECT_DELIVERY_TIMEOUT (0x02) or SUBGROUP_DELIVERY_TIMEOUT (0x06) here, in milliseconds, is the publisher’s delivery timeout (draft-22 §5.2), which the first object of a group can override for that group. An object still short of the transport when the object timeout expires fails its write with DELIVERY_TIMEOUT; a completed group the relay has not acknowledged when the subgroup timeout expires is reset, and nothing is reported. 0 means no timeout.


writeTimeoutMs?: number;

Defined in: relay-sdks/ts/src/publish.ts:88

Deadline for relay demand and stream writes. Default 10 seconds, maximum 2147483647.