nmossrc

NMOS Receiver wrapper element backed by nvnmosd

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──nmossrc

Implemented interfaces

GstChildProxy

Factory details

Authors: – NVIDIA Corporation

Classification:Source/Network/NMOS

Rank – none

Plugin – nmos

Package – gst-nmos-rs

Pad Templates

src

ANY

Presencealways

Directionsrc

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 Receiver. Required when transport-file* is unset; synthesises the configuring transport file (MXL flow_def or SDP depending on transport). On transport=mxl, requires mxl-flow-id (media-type structure name picks the matching mxlsrc flow-id slot); 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


depay-properties

“depay-properties” GstStructure*

Overrides applied to the inner RTP depayloader every time the UDP receiver 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


description

“description” gchararray

NMOS description for the Receiver. 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-port

“destination-port” guint

IS-05 receiver transport_params destination_port: local listen port (becomes udpsrc.port and the SDP m= port slot). 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 Receiver (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


interface-ip

“interface-ip” gchararray

IS-05 receiver transport_params interface_ip: local NIC IP used for the IGMP join. Resolved to an interface name and fed into udpsrc.multicast-iface on the RTP transports. Also emitted in the configuring SDP as a=x-nvnmos-iface-ip:. Empty = unset (let the kernel pick). Honoured only on the RTP transports; ignored on mxl.

Flags : Read / Write


label

“label” gchararray

NMOS label for the Receiver. 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


multicast-ip

“multicast-ip” gchararray

IS-05 receiver transport_params multicast_ip: multicast group to join. Becomes udpsrc.address and the SDP c= line address on the RTP transports. Empty = unset (unicast reception). Honoured only on the RTP transports; ignored on mxl.

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. Fed into the inner mxlsrc domain= property when the real inner chain is installed (after IS-05 activation, or at startup when auto-activate=true).

Flags : Read / Write


mxl-flow-id

“mxl-flow-id” gchararray

MXL flow id (UUID) the inner mxlsrc should pull. An NMOS Receiver is normally configured by IS-05 PATCH activation, so this is mainly a development convenience: combined with auto-activate=true (plus caps and mxl-domain-path) the receiver starts up pre-bound to a known flow without an external controller. 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


receiver-caps-mode

“receiver-caps-mode” GstNmosCapsMode*

Whether the Receiver advertises BCP-004-01 Receiver Caps on IS-04 (narrow) or none (wide). On MXL, wide is encoded via urn:x-nvnmos:tag:caps; on RTP/UDP via media-level a=x-nvnmos-caps:. auto (default) leaves the marker untouched in the spliced transport file — narrow when absent (or with no transport file), wide when present. narrow strips it; wide ensures it is present (libnvnmos: present + non-empty = wide).

Flags : Read / Write

Default value : auto (0)


receiver-name

“receiver-name” gchararray

Name for this Receiver 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 Receivers on the Node; a Sender 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 Receiver's IS-04 id is derived from the name and the element's node-seed.

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


source-ip

“source-ip” gchararray

IS-05 receiver transport_params source_ip: SSM include-source — the remote sender's IP. Drives the configuring SDP a=source-filter: include-source. On the udp2 (gst-plugins-rs udpsrc2) variant this translates to source-filter; on the udp (gst-plugins-good udpsrc) variant it translates to multicast-source. Empty = unset (any-source multicast / unicast). Honoured only on the RTP transports; ignored on mxl.

Flags : Read / Write


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 Receiver via AddReceiver 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. Required unless caps is provided.

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