-
Notifications
You must be signed in to change notification settings - Fork 851
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
[API] Drop EXPERIMENTAL from ENABLE_EXPERIMENTAL_BONDING #2316
[API] Drop EXPERIMENTAL from ENABLE_EXPERIMENTAL_BONDING #2316
Conversation
d3ecc69
to
9aa3156
Compare
5b2d379
to
d9e4558
Compare
d9e4558
to
6b8d320
Compare
Could somebody elaborate on the default OFF for bonding ? Does ON make the API or the on the wire protocol incompatible with the old versions? i.e would a program using the library with built-in bonding be unable to talk to old srt senders or receivers or vice-versa ? |
Enabling bonding features would increase the size of the binary. Being shipped in a number of other open-source projects it makes sense to use the bonding API only once the 3rd party project actually integrates this feature of SRT. Not much sense to enable the feature if it is not used. |
Thanks. |
Just remember SRT is used almost everywhere, including mobile and embedded platforms. I would not be surprised if your fridge would use SRT to do some smart things. Size does matter there. 😄 |
The bonding functionality has been integrated into a number of projects already. Backward compatibility of the SRT behavior on the wire, and SRT API has to be preserved.
Thus, the feature and the API can no longer be treated as "experimental".
The
ENABLE_EXPERIMENTAL_BONDING
CMake build option has been renamed toENABLE_BONDING
.It is still disabled by default, as not all the projects would use it. Integrating SRT socket groups would also mean the group API has to be used in addition to the regular API.
It is also important to note that SRT built with
ENABLE_BONDING
would export more functions, and can't be treated fully ABI-compatible with SRT built without bonding. Probably this aspect should be depicted in having different SONAMEs for the two configurations.TODO
srt_include(..)
andsrt_exclude(..)
API functions for unimplemented externally-managed groups ([API] Removed unused srt_include(..) and srt_exclude(..) #2321).srt_group_configure(..)
to be removed.