[MAINT] Make the SRT header file and all interface features independent on compile options #2895
Labels
[API]
Area: Changes in SRT library API
Type: Maintenance
Work required to maintain or clean up the code
Milestone
The
srt.h
header file should not contain any conditionals referring to the optional features of SRT.The header may contain conditional macros that enable any new experimental or preview features. These are things that are needed to be conditionally-blocked because:
Just all conditional macros that refer to any optional features that can be enabled or disabled at build time - regardless if they are enabled or disabled in the default build configuration - should be removed. All parts of the SRT library interface must be available if they are part of the official API release (that is, they are not experimental/preview) and the application using that part of the API must be still able to be compiled and linked. Just the use of this part of the API shall result in a runtime error.
Possible works to be done for this, except for removal all conditionals unrelated to expreimental/preview features:
Another thing to be considered: There should be at best no specific naming of experimental and preview features. There better be only a single enabler, or just two named
ENABLE_EXPERIMENTAL
andENABLE_PREVIEW
, which will enable all features that are currently qualified this way. The intent for these should be:ENABLE_PREVIEW
: for features that do not change any potential stability of the rest of the library features if it is not currently in use. There might be potential stability problems only if this feature is in use, and the API may change in the next version.ENABLE_EXPERIMENTAL
: for features which's impact on the existing features of SRT is unknown, and otherwise like above.The text was updated successfully, but these errors were encountered: