nmos-cpp icon indicating copy to clipboard operation
nmos-cpp copied to clipboard

nmos::make_connection_rtp_sender() for unicast RTP receivers

Open garethsb opened this issue 3 years ago • 2 comments

nmos::make_connection_rtp_sender() uses nmos::details::make_connection_rtp_receiver_core_constraints() and nmos::details::make_connection_rtp_receiver_staged_core_parameter_set().

Those functions always insert the multicast_ip transport parameter.

To support creation of Receivers that only support RTP unicast, those three functions could take a bool multicast or nmos::transport transport and omit it if unicast. (The nmos::make_connection_rtp_sender() function should be a second overload or have a default arg of true / nmos::transports::rtp_mcast.)

garethsb avatar Nov 09 '21 10:11 garethsb

There is a slightly gnarlier issue to be resolved due to the fact that nmos::get_session_description_transport_params() (via nmos::details::set_multicast_ip_interface_ip()) always writes multicast_ip into the returned parameters. I suspect that at the point in nmos::details::handle_connection_resource_patch (in connection_api.cpp) that the returned params from the transport file are merged into the transport parameters, this will cause an error "patch error - unexpected object field".

garethsb avatar Nov 09 '21 11:11 garethsb

Good found will investigate a solution for it.

lo-simon avatar Nov 09 '21 12:11 lo-simon