sony / nmos-cpp

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

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

Open gsbnmos opened 6 months ago

gsbnmos commented 6 months ago

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 commented 6 months ago

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: https://github.com/sony/nmos-cpp/blob/25240c43e4953c9202dfd372759daed5cbdf4c72/Development/nmos-cpp-node/node_implementation.cpp#L478-L488