I'm not quite sure what your question is. Looking at lib_tsn 7.0.2 downloaded from xmos.com I found that the register_stream_request() function is used when the AVB source is being used when a talker stream is being turned on (avb.xc:383):
Code: Select all
source->reservation.vlan_id = i_srp.register_stream_request(source->reservation);
The function is being called on the SRP interface to get a VLAN ID for this stream reservation.
The VLAN ID is allocated by the SRP process (avb_srp.xc:120):
Code: Select all
vid_joined = avb_srp_create_and_join_talker_advertise_attrs(&local_stream_info);
so the AVB SRP code will provide the VLAN ID - it is not something the user needs to set.
A bit about the XC interface, the syntax (avb_src.xc:116):
Code: Select all
case i_srp.register_stream_request(avb_srp_info_t stream_info) -> short vid_joined:
means that the the return value of the call to register_stream_request() is done by assigning to the vid_joined variable.