CreateOutputSrtMultiplex

Task 99: create a multiplex SRT egest — a node that owns one listening port and routes accepted connections to the SRT egests that registered their routes with it. Carries no media and is never subscribed to.

Request Type: SrtMultiplexEgestConfiguration

Field

Type

Repeated

Description

id

string

The handle egests name to find this multiplex (SrtEgestMultiplexRef). Not a MediaNodeId: a multiplex is a resource, not a media node.

host

string

port

int32

0 binds an auto-allocated port, reported back in SrtMultiplexEgestEvent.

receive_latency

OptionalInt

peer_latency

OptionalInt

input_bandwidth

OptionalInt

overhead_bandwidth

OptionalInt

max_bandwidth

OptionalInt

tlpktdrop

OptionalBool

listener_sockets

OptionalInt

How many sockets the multiplex binds on its port, each with its own SRT receive/send threads; the kernel spreads consumers across them (SO_REUSEPORT). One multiplex carries every egest sharing it, so without this all their consumers' traffic goes through one send thread. Unset or 1 = one socket. Linux only; 1-32.

accept_bonded

OptionalBool

Accept bonded consumers on the shared port (task 102); every link is routed and granted like any other connection.

Response Type: SrtMultiplexEgestEvent (streamed)

Field

Type

Repeated

Description

message

oneOf

⮑on_bind

SrtBind

The bound port — the same event the dedicated-port egest reports, and the way to learn the port when 0 was requested.

⮑connection_rejected

SrtConnectionRejected

A connection refused at the handshake: its route/user is not in the grant table, or the passphrase did not match. The route names the egest it was destined for, so a misconfigured consumer is identifiable.