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

After setting media parameters to senders and flows how to activate the sender? #360

Open
gsbnmos opened this issue Jan 5, 2024 · 1 comment

Comments

@gsbnmos
Copy link

gsbnmos commented Jan 5, 2024

Hello,

I hope this message finds you well. My name is Gururaj, and I am a new user of the Sony NMOS-CPP library.

I am currently working on a setup where main application which is generator, providing media attributes to sony/nmos-cpp library. In the nmos library node_implementation.cpp, I'm extracting Media Attribute values (such as Image Height, Width, etc.) from the main generator board. and successfully setting these attribute values into NMOS resources, specifically Senders and Flows, and subsequently calling model.notify(). After performing this operation, I can observe the updated attributes under the endpoints:
/x-nmos/node/v1.3/sources/
/x-nmos/node/v1.3/flows/

However, I have encountered an issue where these updated values do not seem to be reflected in the manifest files endpoints:
/x-nmos/node/v1.3/senders/
/x-nmos/connection/v1.1/single/senders/{senderID}/transportfile/

I initially expected that invoking model.notify() would automatically update the values in the library. Unfortunately, it appears that this is not happening in my implementation.

I would greatly appreciate it if someone could provide insights into what might be missing or incorrect in my implementation, preventing the update of these attributes in the SDP object.

Thank you for your assistance.

Best regards,
Gururaj

@garethsb
Copy link
Contributor

garethsb commented Jan 5, 2024

Have a look at make_node_implementation_transportfile_setter which shows how Senders' SDP data can be updated based on Flow and Sender resources. However, this function is no longer called directly by the example node implementation code. Instead it just issues an activation to have nmos-cpp update it automatically. See:

if (impl::fields::activate_senders(model.settings))
{
// initialize this sender with a scheduled activation, e.g. to enable the IS-05-01 test suite to run immediately
auto& staged = connection_sender.data[nmos::fields::endpoint_staged];
staged[nmos::fields::master_enable] = value::boolean(true);
staged[nmos::fields::activation] = value_of({
{ nmos::fields::mode, nmos::activation_modes::activate_scheduled_relative.name },
{ nmos::fields::requested_time, U("0:0") },
{ nmos::fields::activation_time, nmos::make_version() }
});
}

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