sony / nmos-cpp

An NMOS (Networked Media Open Specifications) Registry and Node in C++ (IS-04, IS-05)
Apache License 2.0
136 stars 79 forks source link

IS-08 - device channel mapping API endpoint #318

Open tljdebrouwer opened 1 year ago

tljdebrouwer commented 1 year ago

First of all thanks for the NMOS library, it is great work!

We are implementing NMOS for a node with many device(s), where each device can only route in/outputs within it's own device.

When looking in IS-08, there seems to be a perfect solution for this (IS-08 instance per device), however this isn't part of the library.

Would this be a feature which can be put on the backlog of implementation?

Thanks in advance.

garethsb commented 1 year ago

The API "selector" that IS-08 allows could help, but have you considered whether you would be able to use Output Routing Constraints to describe these routing restrictions even within one API instance?

https://specs.amwa.tv/is-08/releases/v1.0.1/docs/4.0._Behaviour.html#output-routing-constraints

tljdebrouwer commented 1 year ago

Hi @garethsb ,

Thanks for the quick response.

Yes we did that, and functionally I believe that with doing so it's all set, a controller can figure out what is and isn't allowed.

With the request we are more considering the burden you would put on a controller to figure out the relations between inputs/outputs and their respective device (which requires iterating for each device towards senders / receivers and so on).

garethsb commented 1 year ago

Do you have feedback from any Controller vendors on this?

Note that there's a hint of how this would be implemented here: https://github.com/sony/nmos-cpp/blob/a0ff5f372cd828e87e6ccbfa18aa0f35b01a3c2f/Development/nmos/channelmapping_api.cpp#L44-L49