MoqInputConfiguration

Field

Type

Repeated

Description

id

MediaNodeId

url

string

namespace

string

✅

The namespace to subscribe to (client mode), as a list of segments (the on-the-wire MoQT tuple). Ignored in listener mode — see MoqInputListenerConfig.namespace_prefix.

disableTlsVerify

bool

listener

MoqInputListenerConfig

stats_sampling

StreamStatisticsSampling

start_threshold

InputStartThresholdSettings

Optionally drop data until input is 'stable' this will reduce latency and memory use in nearly all cases

time_domain

TimeDomainConfig

c2pa_verification

C2paVerificationConfig

When set, validate every incoming init and media segment against the C2PA Live Video continuity chain and emit C2paSegmentVerified events.

moq_protocol_version

string

Pin the MoQT transport draft this ingest negotiates (client mode), instead of auto-negotiating (which lands on the newest BOTH ends prefer — draft-16 for Norsk↔Norsk). "" / "auto" = negotiate; otherwise "draft14" / "draft16" / "draft18". draft-18 is required to activate the joining-FETCH catalog bootstrap. Mirrors MoqOutputConfiguration.moq_protocol_version.

source_name

string

The source name to give the ingested media (client mode), as other inputs do. Empty = derive from the namespace (back-compat). Required to distinguish two MoQ inputs subscribing to the SAME namespace in one instance — otherwise they produce identical stream keys and the second collides.

subscribe_filter

MoqSubscribeFilter

Where in the publication media-track subscriptions start. Default (NEXT_GROUP_START) joins cleanly at the next group boundary; see MoqSubscribeFilter for the low-latency and full-history alternatives.

reorder_buffer_ms

OptionalInt

How long, in milliseconds, to hold each arriving object so that a late-arriving earlier one can overtake it, before emitting in {group, object} order.

MoQ carries each group on its own QUIC stream and QUIC does not order across streams, so a group’s tail objects can arrive after the next group has started. Emitting those in arrival order steps the timeline backwards and the sync will eventually shed the stream. Measured lateness against a public relay was 0-61ms.

ABSENT = 100ms, which covers that with margin. 0 disables reordering and emits on arrival. The value is added latency on this input, and anything arriving later than it is dropped, so raise it for a lossy or high-fan-out path and lower it only if the added delay matters more than the occasional dropped object.

tls_ca_file

string

Client mode, with verification on: a PEM file, on the engine’s filesystem, of the CA certificates the peer’s certificate must chain to, in place of the system bundle. A self-signed peer certificate may be named directly. Empty = the system bundle.

ask_track_keys

bool

Ask the client, as each track arrives, what stream key it gets and its language (MoqInputEvent.track; answered with MoqInputMessage.track_accept or track_reject). The SDK sets this when onTrack is given. Off, every track takes the input’s own key.

subscriber_priority

OptionalInt

MOQT subscriber priority (0..255, lower first) of this input’s media subscriptions, relative to the publisher’s other subscriptions on the same connection. Unset = 128. Client mode.

group_order

MoqGroupOrder

The group order the media subscriptions ask for. Unspecified = the publisher’s. Client mode.

delivery_timeout_ms

OptionalInt

The delivery timeout (ms) the media subscriptions ask for: the publisher drops objects it could not send within it. Unset = none. Client mode.

relay_listener

MoqInputRelayListenerConfig

Relay-listener mode (see MoqInputRelayListenerConfig): dial url and take every publisher announced there under a prefix. namespace is ignored. Mutually exclusive with listener.

auth_token

string

Client and relay-listener modes: a MoQ auth token presented to the peer, as the SETUP AUTHORIZATION TOKEN option (a ?jwt= already in url is sent too, in PATH). "" = none.

Member of

Message

Description

MoqInputMessage