Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IS-08 - device channel mapping API endpoint #318

Open
tljdebrouwer opened this issue Mar 9, 2023 · 3 comments
Open

IS-08 - device channel mapping API endpoint #318

tljdebrouwer opened this issue Mar 9, 2023 · 3 comments

Comments

@tljdebrouwer
Copy link

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
Copy link
Contributor

garethsb commented Mar 9, 2023

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
Copy link
Author

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
Copy link
Contributor

garethsb commented Apr 1, 2023

Do you have feedback from any Controller vendors on this?

Note that there's a hint of how this would be implemented here:

// At the moment, it doesn't seem necessary to enable support multiple API instances via the API selector mechanism
// so therefore just mount the Channel Mapping API instance directly at /x-nmos/channelmapping/{version}/
// If it becomes necessary, nmos::node_mode::channelmapping_resources could become a map from {selector} to nmos::resources
// and the 'unmounted' API instance handler also mounted after a "child resources" handler based on the API selectors
// See https://specs.amwa.tv/is-08/releases/v1.0.1/docs/2.0._APIs.html#api-paths
channelmapping_api.mount(U("/x-nmos/") + nmos::patterns::channelmapping_api.pattern + U("/") + nmos::patterns::version.pattern, make_unmounted_channelmapping_api(model, validate_merged, gate));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants