RAVENNAKIT
Loading...
Searching...
No Matches
rav::nmos Namespace Reference

Classes

struct  ApiVersion
 Represents the version of the NMOS API. More...
class  RegistryBrowserBase
class  RegistryBrowser
struct  Timestamp
 Represents a timestamp in the format of seconds and nanoseconds. More...
struct  Activation
struct  ActivationResponse
 Parameters concerned with activation of the transport parameters. More...
struct  ApiError
struct  ClockInternal
 Describes a clock with no external reference. More...
struct  ClockPtp
 Describes a clock referenced to PTP. More...
struct  Constraint
 Definition of a single constraint record. More...
struct  ConstraintsRtp
 Used to express the dynamic constraints on RTP transport parameters. More...
struct  Device
struct  FlowAudio
struct  FlowAudioRaw
struct  FlowCore
struct  ReceiverAudio
 Describes an audio Receiver. More...
struct  ReceiverCore
 Describes a receiver. More...
struct  ReceiverTransportParamsRtp
struct  ResourceCore
struct  Self
 Describes the Node and the services which run on it. More...
struct  Sender
 Describes a sender. More...
struct  SenderTransportParamsRtp
 Describes RTP Sender transport parameters. More...
struct  Source
 Describes a Source https://specs.amwa.tv/is-04/releases/v1.3.3/APIs/schemas/with-refs/source.html. More...
struct  SourceAudio
 Describes an audio source. More...
struct  SourceCore
 Describes a source. More...
struct  TransportFile
 Transport file parameters. More...
class  Node
 Implements the NMOS node as defined in the NMOS specifications. More...

Typedefs

using Version = Timestamp
 An nmos version is represented as TAI timestamp.

Enumerations

enum class  Error {
  no_registry_address_given , invalid_registry_address , invalid_api_version , invalid_id ,
  failed_to_start_http_server
}
 Errors used in the NMOS node. More...
enum class  OperationMode { mdns_p2p , manual , p2p }
 The mode of operation for the NMOS node. More...

Functions

std::ostream & operator<< (std::ostream &os, const ApiVersion version)
std::ostream & operator<< (std::ostream &os, const Error error)
 Overload the output stream operator for the Node::Error enum class.
const char * audio_encoding_to_nmos_media_type (const AudioEncoding encoding)
const char * to_string (const OperationMode operation_mode)
std::optional< OperationMode > operation_mode_from_string (const std::string_view str)
std::ostream & operator<< (std::ostream &os, const OperationMode operation_mode)
 Overload the output stream operator for the Node::Error enum class.
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Timestamp &timestamp)
Timestamp tag_invoke (const boost::json::value_to_tag< Timestamp > &, const boost::json::value &jv)
const char * to_string (const Activation::Mode mode)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Activation::Mode &mode)
Activation::Mode tag_invoke (const boost::json::value_to_tag< Activation::Mode > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Activation &activation)
Activation tag_invoke (const boost::json::value_to_tag< Activation > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ActivationResponse &activation_response)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ApiError &value)
ApiError tag_invoke (const boost::json::value_to_tag< ApiError > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ClockInternal &clock)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ClockPtp &clock)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Constraint &constraint)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ConstraintsRtp &constraint_rtp)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Device::Control &control)
Device::Control tag_invoke (const boost::json::value_to_tag< Device::Control > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const Device &device)
Device tag_invoke (const boost::json::value_to_tag< Device > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const FlowAudio::SampleRate &sample_rate)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const FlowAudio &flow_audio)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const FlowAudioRaw &flow_audio_raw)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const FlowCore &flow_core)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ReceiverAudio::Capabilities &capabilities)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const ReceiverAudio &receiver)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ReceiverCore::Subscription &subscription)
ReceiverCore::Subscription tag_invoke (const boost::json::value_to_tag< ReceiverCore::Subscription > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const ReceiverCore &receiver)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ReceiverTransportParamsRtp &transport_file)
ReceiverTransportParamsRtp tag_invoke (const boost::json::value_to_tag< ReceiverTransportParamsRtp > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const ResourceCore &resource)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Self::Endpoint &endpoint)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Self::Api &api)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Self::Interface &interface)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const Self &self)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Sender::Subscription &subscription)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const Sender &sender)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const SenderTransportParamsRtp &sender_transport_params)
SenderTransportParamsRtp tag_invoke (const boost::json::value_to_tag< SenderTransportParamsRtp > &, const boost::json::value &jv)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const Source &source)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const SourceAudio::Channel &channel)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const SourceAudio &source)
void tag_invoke (const boost::json::value_from_tag &tag, boost::json::value &jv, const SourceCore &source)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const TransportFile &transport_file)
TransportFile tag_invoke (const boost::json::value_to_tag< TransportFile > &, const boost::json::value &jv)
const char * to_string (const Node::Status &status)
void tag_invoke (const boost::json::value_from_tag &, boost::json::value &jv, const Node::Configuration &config)

Typedef Documentation

◆ Version

An nmos version is represented as TAI timestamp.

Definition at line 143 of file nmos_timestamp.hpp.

Enumeration Type Documentation

◆ Error

enum class rav::nmos::Error
strong

Errors used in the NMOS node.

Enumerator
no_registry_address_given 
invalid_registry_address 
invalid_api_version 
invalid_id 
failed_to_start_http_server 

Definition at line 33 of file nmos_error.hpp.

◆ OperationMode

enum class rav::nmos::OperationMode
strong

The mode of operation for the NMOS node.

Enumerator
mdns_p2p 

Discovers registries via mDNS, falling back to p2p if no registry is available.

manual 

Connects to a registry via a manually specified address.

p2p 

The node does not register with a registry and only does peer-to-peer discovery.

Definition at line 36 of file nmos_operating_mode.hpp.

Function Documentation

◆ audio_encoding_to_nmos_media_type()

const char * rav::nmos::audio_encoding_to_nmos_media_type ( const AudioEncoding encoding)
inline

Definition at line 31 of file nmos_media_types.hpp.

◆ operation_mode_from_string()

std::optional< OperationMode > rav::nmos::operation_mode_from_string ( const std::string_view str)
inline

Definition at line 57 of file nmos_operating_mode.hpp.

◆ operator<<() [1/3]

std::ostream & rav::nmos::operator<< ( std::ostream & os,
const ApiVersion version )
inline

Definition at line 97 of file nmos_api_version.hpp.

◆ operator<<() [2/3]

std::ostream & rav::nmos::operator<< ( std::ostream & os,
const Error error )
inline

Overload the output stream operator for the Node::Error enum class.

Definition at line 42 of file nmos_error.hpp.

◆ operator<<() [3/3]

std::ostream & rav::nmos::operator<< ( std::ostream & os,
const OperationMode operation_mode )
inline

Overload the output stream operator for the Node::Error enum class.

Definition at line 71 of file nmos_operating_mode.hpp.

◆ tag_invoke() [1/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Activation & activation )
inline

Definition at line 80 of file nmos_activation.hpp.

◆ tag_invoke() [2/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Activation::Mode & mode )
inline

Definition at line 62 of file nmos_activation.hpp.

◆ tag_invoke() [3/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ActivationResponse & activation_response )
inline

Definition at line 49 of file nmos_activation_response.hpp.

◆ tag_invoke() [4/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ApiError & value )
inline

Definition at line 51 of file nmos_api_error.hpp.

◆ tag_invoke() [5/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ClockInternal & clock )
inline

Definition at line 42 of file nmos_clock_internal.hpp.

◆ tag_invoke() [6/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ClockPtp & clock )
inline

Definition at line 55 of file nmos_clock_ptp.hpp.

◆ tag_invoke() [7/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Constraint & constraint )
inline

Definition at line 45 of file nmos_constraint.hpp.

◆ tag_invoke() [8/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ConstraintsRtp & constraint_rtp )
inline

Definition at line 45 of file nmos_constraints_rtp.hpp.

◆ tag_invoke() [9/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Device::Control & control )
inline

Definition at line 68 of file nmos_device.hpp.

◆ tag_invoke() [10/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const FlowAudio::SampleRate & sample_rate )
inline

Definition at line 43 of file nmos_flow_audio.hpp.

◆ tag_invoke() [11/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Node::Configuration & config )

◆ tag_invoke() [12/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ReceiverAudio::Capabilities & capabilities )
inline

Definition at line 69 of file nmos_receiver_audio.hpp.

◆ tag_invoke() [13/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ReceiverCore::Subscription & subscription )
inline

Definition at line 72 of file nmos_receiver_core.hpp.

◆ tag_invoke() [14/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ReceiverTransportParamsRtp & transport_file )
inline

Definition at line 64 of file nmos_receiver_transport_params_rtp.hpp.

◆ tag_invoke() [15/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const ResourceCore & resource )
inline

Definition at line 57 of file nmos_resource_core.hpp.

◆ tag_invoke() [16/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Self::Api & api )
inline

Definition at line 91 of file nmos_self.hpp.

◆ tag_invoke() [17/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Self::Endpoint & endpoint )
inline

Definition at line 87 of file nmos_self.hpp.

◆ tag_invoke() [18/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Self::Interface & interface )
inline

Definition at line 95 of file nmos_self.hpp.

◆ tag_invoke() [19/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Sender::Subscription & subscription )
inline

Definition at line 92 of file nmos_sender.hpp.

◆ tag_invoke() [20/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const SenderTransportParamsRtp & sender_transport_params )
inline

Definition at line 72 of file nmos_sender_transport_params_rtp.hpp.

◆ tag_invoke() [21/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const SourceAudio::Channel & channel )
inline

Definition at line 59 of file nmos_source_audio.hpp.

◆ tag_invoke() [22/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const Timestamp & timestamp )
inline

Definition at line 145 of file nmos_timestamp.hpp.

◆ tag_invoke() [23/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & ,
boost::json::value & jv,
const TransportFile & transport_file )
inline

Definition at line 46 of file nmos_transport_file.hpp.

◆ tag_invoke() [24/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const Device & device )
inline

Definition at line 85 of file nmos_device.hpp.

◆ tag_invoke() [25/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const FlowAudio & flow_audio )
inline

Definition at line 47 of file nmos_flow_audio.hpp.

◆ tag_invoke() [26/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const FlowAudioRaw & flow_audio_raw )
inline

Definition at line 58 of file nmos_flow_audio_raw.hpp.

◆ tag_invoke() [27/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const FlowCore & flow_core )
inline

Definition at line 42 of file nmos_flow_core.hpp.

◆ tag_invoke() [28/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const ReceiverAudio & receiver )
inline

Definition at line 75 of file nmos_receiver_audio.hpp.

◆ tag_invoke() [29/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const ReceiverCore & receiver )
inline

Definition at line 91 of file nmos_receiver_core.hpp.

◆ tag_invoke() [30/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const Self & self )
inline

Definition at line 99 of file nmos_self.hpp.

◆ tag_invoke() [31/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const Sender & sender )
inline

Definition at line 99 of file nmos_sender.hpp.

◆ tag_invoke() [32/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const Source & source )
inline

Definition at line 77 of file nmos_source.hpp.

◆ tag_invoke() [33/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const SourceAudio & source )
inline

Definition at line 65 of file nmos_source_audio.hpp.

◆ tag_invoke() [34/44]

void rav::nmos::tag_invoke ( const boost::json::value_from_tag & tag,
boost::json::value & jv,
const SourceCore & source )
inline

Definition at line 48 of file nmos_source_core.hpp.

◆ tag_invoke() [35/44]

Activation rav::nmos::tag_invoke ( const boost::json::value_to_tag< Activation > & ,
const boost::json::value & jv )
inline

Definition at line 87 of file nmos_activation.hpp.

◆ tag_invoke() [36/44]

Activation::Mode rav::nmos::tag_invoke ( const boost::json::value_to_tag< Activation::Mode > & ,
const boost::json::value & jv )
inline

Definition at line 66 of file nmos_activation.hpp.

◆ tag_invoke() [37/44]

ApiError rav::nmos::tag_invoke ( const boost::json::value_to_tag< ApiError > & ,
const boost::json::value & jv )
inline

Definition at line 55 of file nmos_api_error.hpp.

◆ tag_invoke() [38/44]

Device rav::nmos::tag_invoke ( const boost::json::value_to_tag< Device > & ,
const boost::json::value & jv )
inline

Definition at line 105 of file nmos_device.hpp.

◆ tag_invoke() [39/44]

Device::Control rav::nmos::tag_invoke ( const boost::json::value_to_tag< Device::Control > & ,
const boost::json::value & jv )
inline

Definition at line 75 of file nmos_device.hpp.

◆ tag_invoke() [40/44]

ReceiverCore::Subscription rav::nmos::tag_invoke ( const boost::json::value_to_tag< ReceiverCore::Subscription > & ,
const boost::json::value & jv )
inline

Definition at line 84 of file nmos_receiver_core.hpp.

◆ tag_invoke() [41/44]

ReceiverTransportParamsRtp rav::nmos::tag_invoke ( const boost::json::value_to_tag< ReceiverTransportParamsRtp > & ,
const boost::json::value & jv )
inline

Definition at line 74 of file nmos_receiver_transport_params_rtp.hpp.

◆ tag_invoke() [42/44]

SenderTransportParamsRtp rav::nmos::tag_invoke ( const boost::json::value_to_tag< SenderTransportParamsRtp > & ,
const boost::json::value & jv )
inline

Definition at line 82 of file nmos_sender_transport_params_rtp.hpp.

◆ tag_invoke() [43/44]

Timestamp rav::nmos::tag_invoke ( const boost::json::value_to_tag< Timestamp > & ,
const boost::json::value & jv )
inline

Definition at line 149 of file nmos_timestamp.hpp.

◆ tag_invoke() [44/44]

TransportFile rav::nmos::tag_invoke ( const boost::json::value_to_tag< TransportFile > & ,
const boost::json::value & jv )
inline

Definition at line 53 of file nmos_transport_file.hpp.

◆ to_string() [1/3]

const char * rav::nmos::to_string ( const Activation::Mode mode)
inline

Definition at line 50 of file nmos_activation.hpp.

◆ to_string() [2/3]

const char * rav::nmos::to_string ( const Node::Status & status)

◆ to_string() [3/3]

const char * rav::nmos::to_string ( const OperationMode operation_mode)
inline

Definition at line 45 of file nmos_operating_mode.hpp.