nmossink

NMOS Sender wrapper element backed by nvnmosd

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──nmossink

Implemented interfaces

GstChildProxy

Factory details

Authors: – NVIDIA Corporation

Classification:Sink/Network/NMOS

Rank – none

Plugin – nmos

Package – gst-nmos-rs

Pad Templates

sink

ANY

Presencealways

Directionsink

Object type – GstPad


Properties

auto-activate

“auto-activate” gboolean

When true, swap in the real transport sink or source (instead of the fake chain) once the configuring transport file has been resolved at NULL→READY (or READY→PAUSED for deferred senders), and call SyncResourceState so IS-04/IS-05 show active without an IS-05 PATCH. Does not force PLAYING — child state still follows the bin. Default false: add via AddSender / AddReceiver (visible on IS-04) but keep the fake chain until an external IS-05 controller activates the resource.

Flags : Read / Write

Default value : false


caps

“caps” GstCaps*

Essence caps for this Sender. Synthesises the configuring transport file when transport-file* is unset (MXL flow_def or SDP depending on transport). On transport=mxl, requires mxl-flow-id; supported shapes: v210 video, F32LE audio, meta/x-st-2038 data. On RTP transports, requires the relevant IS-05 endpoint properties. When transport-file* is also set, the file wins and caps are cross-checked against it — mismatch is a hard error.

Flags : Read / Write


daemon-uri

“daemon-uri” gchararray

gRPC endpoint for nvnmosd. Only unix:/path/to/sock URIs are currently supported.

Flags : Read / Write

Default value : unix:/tmp/nvnmosd.sock


description

“description” gchararray

NMOS description for the Sender. Optional. Overrides the transport file when both are supplied (top-level description in an MXL flow_def; SDP i= line for RTP/UDP).

Flags : Read / Write


destination-ip

“destination-ip” gchararray

IS-05 sender transport_params destination_ip: remote destination (unicast peer or multicast group). Becomes the configuring SDP c= line address and udpsink.host on the RTP transports. Empty = unset (use the transport file's c= line if present; otherwise the daemon fills the IS-05 auto sentinel). Honoured only on the RTP transports; ignored on mxl.

Flags : Read / Write


destination-port

“destination-port” guint

IS-05 sender transport_params destination_port: remote destination port. Becomes the configuring SDP m= line port and udpsink.port on the RTP transports. 0 (the default) = unset; falls back to the transport file's m= port if present, else to the canonical RTP default 5004 (nmos-cpp auto_rtp_port). Honoured only on the RTP transports; ignored on mxl.

Flags : Read / Write

Default value : 0


domain

“domain” gchararray

DNS domain for NMOS network services (network_services.domain). Use local to force mDNS. Empty (the default) leaves libnvnmos on automatic discovery. Not to be confused with mxl-domain-id / mxl-domain-path, which identify an MXL shared-memory Domain. Honoured only by the OpenSession that creates the Node.

Flags : Read / Write


format-bit-rate

“format-bit-rate” guint64

Coded essence (Flow) bit rate in kilobits per second (1000 bits/s), matching NMOS Flow bit_rate and SDP fmtp x-nvnmos-format-bit-rate. On JPEG XS RTP transports, synthesises the configuring SDP a=fmtp:… x-nvnmos-format-bit-rate= attribute and b=AS: (via the derived transport rate) and sets rtpjxsvpay max-codestream-bitrate to this value times 1000 (bit/s) unless pay-properties already supplies it. 0 (the default) = unset. When only one of format-bit-rate and transport-bit-rate is set, the other is derived using the same overhead factor as nvnmosd (AMWA BCP-006-01 / VSF TR-08 style). With a supplied transport-file*, cross-checks when both sides declare a rate and splices when the file omits it. Ignored on transport=mxl.

Flags : Read / Write

Default value : 0


group-hint

“group-hint” gchararray

NMOS group hint for the Sender (the urn:x-nmos:tag:grouphint/v1.0 tag), e.g. "SDI 1:Video". Becomes the x-nvnmos-group-hint session-level SDP attribute on RTP/UDP or the grouphint tag in an MXL flow_def. Overrides the transport file when both are supplied. Optional. Omitted when unset.

Flags : Read / Write


host-name

“host-name” gchararray

NMOS Node host name (node_config.host_name). Empty (the default) leaves libnvnmos to autodetect. Honoured only by the OpenSession that actually creates the Node; ignored when attaching to a pre-existing Node with the same node-seed.

Flags : Read / Write


http-port

“http-port” guint

TCP port libnvnmos serves the NMOS HTTP APIs on (node_config.http_port). 0 (the default) asks nvnmosd to allocate from NVNMOSD_HTTP_PORT_MIN..NVNMOSD_HTTP_PORT_MAX. Non-zero selects an explicit port (rejected when unavailable). Honoured only by the OpenSession that actually creates the Node — when attaching to a pre-existing Node (e.g. another nmossink / nmossrc opened first with the same node-seed) this property is ignored. The effective port is returned in OpenSessionResponse.http_port.

Flags : Read / Write

Default value : 0


label

“label” gchararray

NMOS label for the Sender. Optional. Overrides the transport file when both are supplied (top-level label in an MXL flow_def; SDP s= line for RTP/UDP).

Flags : Read / Write


mxl-domain-id

“mxl-domain-id” gchararray

MXL Domain identifier (UUID) included as urn:x-nvnmos:tag:mxl-domain-id in the transport file. Optional when transport=mxl: the path's domain_def.json id supplies it when present (for a caps-synthesised file; a supplied transport-file* keeps its own tag, cross-checked at activation); otherwise the tag is left application-resolved ([""]) and the data plane uses mxl-domain-path locally. When supplied, overrides the transport file's tag. Cross-checked against domain_def.json when both are supplied (mismatch is an error). On nmossrc, set before NULL→READY; on nmossink it may also be set in READY for deferred AddSender.

Flags : Read / Write


mxl-domain-path

“mxl-domain-path” gchararray

Local filesystem path identifying the MXL Domain on this host. If the directory contains a domain_def.json (AMWA BCP-007-03 WIP) its id is used to populate mxl-domain-id (or cross-checked against it when both are set). Without domain_def.json, an unset mxl-domain-id leaves the NMOS tag application-resolved while the data plane still uses this path. The path itself will be consumed by the inner mxlsink domain= property when the data path is wired up.

Flags : Read / Write


mxl-flow-id

“mxl-flow-id” gchararray

MXL flow id (UUID) the inner mxlsink should push into. Overrides the transport file's top-level id when both are supplied.

Flags : Read / Write


node-seed

“node-seed” gchararray

NvNmos Node seed (node_config.seed). Required. Sessions sharing this seed contribute to the same NMOS Node.

Flags : Read / Write


pay-properties

“pay-properties” GstStructure*

Overrides applied to the inner RTP payloader every time the UDP sender chain is built. Same GstStructure syntax as transport-properties; ignored on non-UDP transports (a warning is logged if non-empty). Takes effect on the next chain build.

Flags : Read / Write


registration-url

“registration-url” gchararray

Fixed IS-04 Registration API URL. Format: http://host[:port]/x-nmos/registration/v<X.Y>[/]. Parsed into network_services.registration_*; invalid URLs are logged and ignored. Empty (the default) leaves libnvnmos on DNS-SD discovery based on host-name. Honoured only by the OpenSession that creates the Node.

Flags : Read / Write


sender-name

“sender-name” gchararray

Name for this Sender within the Node (becomes the x-nvnmos-name SDP attribute or the urn:x-nvnmos:tag:name flow-def tag in the transport file). Unique across Senders on the Node; a Receiver on the same Node may share the same name (the daemon scopes names by side). Required unless the name is already carried in transport-file*. Overrides the transport file's value when both are supplied. The Sender's IS-04 id is derived from the name and the element's node-seed.

Flags : Read / Write


source-ip

“source-ip” gchararray

IS-05 sender transport_params source_ip: local egress NIC IP. Drives both the SDP a=source-filter: include-source (RFC 4607 SSM convention) and the a=x-nvnmos-iface-ip: attribute, and udpsink.bind-address on the RTP transports (udp, udp2, nvdsudp). Empty = unset (leave the daemon / SDP / IS-05 auto resolver to fill at activation time). Honoured only on the RTP transports; ignored on mxl.

Flags : Read / Write


source-port

“source-port” guint

IS-05 sender transport_params source_port: local egress port. Drives udpsink.bind-port and the SDP a=x-nvnmos-src-port: attribute on the RTP transports. 0 (the default) = unset; the OS picks an ephemeral port. Honoured only on the RTP transports; ignored on mxl.

Flags : Read / Write

Default value : 0


system-url

“system-url” gchararray

Fixed IS-09 System API URL. Format: http://host[:port]/x-nmos/system/v<X.Y>[/]. Parsed into network_services.system_*; invalid URLs are logged and ignored. Honoured only when registration-url is also set (libnvnmos ignores a standalone System API). Honoured only by the OpenSession that creates the Node.

Flags : Read / Write


transport

“transport” GstNmosTransport*

Inner data path family. mxl: MXL shared-memory transport (mxlsrc / mxlsink). udp: ST 2110 over RTP/UDP via gst-plugins-good (udpsrc / udpsink + the rtpvrawpay / rtpL24pay / rtpsmpte291pay family). udp2: ST 2110 over RTP/UDP via gst-plugins-rs (udpsrc2 + the *pay2 / *depay2 family where available, falling back to gst-plugins-good per-element). nvdsudp: ST 2110 via DeepStream's nvdsudpsrc / nvdsudpsink (Rivermax kernel-bypass, built-in RTP (de)payload, Mode 3). Requires ConnectX-5+ and the Rivermax SDK.

Flags : Read / Write

Default value : mxl (0)


transport-bit-rate

“transport-bit-rate” guint64

Transport (Sender) bit rate in kilobits per second (1000 bits/s), including RTP/UDP/IP overhead, matching NMOS Sender bit_rate, SDP b=AS:, and fmtp x-nvnmos-transport-bit-rate. On JPEG XS RTP transports, synthesises the configuring SDP b=AS: bandwidth line and a=fmtp:… x-nvnmos-transport-bit-rate= attribute. 0 (the default) = unset. When only one of format-bit-rate and transport-bit-rate is set, the other is derived using the same overhead factor as nvnmosd. With a supplied transport-file*, cross-checks when both sides declare a rate and splices when the file omits it. Ignored on transport=mxl.

Flags : Read / Write

Default value : 0


transport-caps

“transport-caps” GstCaps*

Per-transport overrides (SDP fmtp-style). Typically empty for MXL.

Flags : Read / Write


transport-file

“transport-file” gchararray

Literal contents of the NvNmos transport file: MXL flow_def JSON for transport=mxl, SDP text for transport=udp / udp2 / nvdsudp. The daemon adds the Sender via AddSender and re-publishes the transport file on IS-05 activation. Pass the text, not a path. Convenient for programmatic callers; from gst-launch use transport-file-path instead. Mutually exclusive with transport-file-path. When unset and caps is supplied the element synthesises a configuring transport file from the essence caps (MXL flow_def or SDP, depending on transport).

Flags : Read / Write


transport-file-path

“transport-file-path” gchararray

Filesystem path read at NULL→READY into transport-file. Convenience for gst-launch; mutually exclusive with transport-file.

Flags : Read / Write


transport-properties

“transport-properties” GstStructure*

Overrides applied to the inner source or sink (udpsrc, udpsink, nvdsudpsrc, nvdsudpsink, mxlsrc, or mxlsink) every time the data-path chain is built. Pass a GstStructure whose fields are GObject property names on that inner source or sink — for example properties,buffer-size=26214400. The structure name is not interpreted. Takes effect on the next chain build, not immediately on the one currently in the chain.

Flags : Read / Write


The results of the search are