Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 1.43 KB

File metadata and controls

40 lines (27 loc) · 1.43 KB

nmos-rs

nmos-rs is a WIP Rust implementation of the AMWA Networked Media Open Specifications (NMOS) APIs. The project aims to create an NMOS Node library which is performant, while being super easy to work with. Currently only the IS-04 v1.0 specification is implemented.

Repo Overview

This repository hosts the following libraries:

  • nmos-schema - Rust types generated automatically from NMOS JSON Schemas.
  • nmos-model - Handcrafted typed model of NMOS resources.
  • nmos-node - Node implementation build around model including HTTP APIs.

MSRV policy

Minimum Supported Rust Version is 1.56 due to the use of Rust 2021 Edition features.

Getting Started

Rust

Examples can be found at node/examples. You can run the examples with cargo run --example name. See the list of examples.

Windows Support

Windows is currently unsupported due to a missing implementation in the MDNS abstraction crate zeroconf. To properly support MDNS on modern Windows platforms, it makes most sense to use Dnssd in the WinRT API, for which bindings exist in the windows-rs crate. (Windows.Networking.ServiceDiscovery.Dnssd)

TODO:

  • IS-04 v1.1-v1.3 node support.
  • IS-05 node support.
  • Automated testing with the AMWA NMOS testing tool.
  • Simple registry implementation?
  • You tell me!