Skip to content
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

move filter fields to end of CBytePerfMon to make CBytePerfMon backwa… #896

Merged
merged 1 commit into from Oct 15, 2019

Conversation

alexpokotilo
Copy link
Contributor

@alexpokotilo alexpokotilo commented Oct 7, 2019

…rd compatible

Many srt applications use srt library dynamically.
If application compiled with 1.3.4 srt.h but then maintainer released srt 1.4.0 for this application everything will work fine as api is backward compatible, SRT_SOCKOPT is backward compatible, srt_setsockopt will just fail if you give it new unknown options etc.
But CBytePerfMon is not backward compatible now and this may be a problem if user want to switch from one srt version to another. This is very powerful option especially taking into account how fast SRT developed.
All we need to do is just add new options to the end of CBytePerfMon and don't remove old ones.

CBytePerfMon was the same from 1.3 till recent 1.4. Unfortunately I missed this commit before 1.4 was released but it's not late to move new "filter-related" params to the end of the structure and follow SRT_SOCKOPT-like rule for CBytePerfMon update

…rd compatible

Many srt applications use srt library dynamically.
If application compiled with 1.3.4 srt.h but then maintainer released srt 1.4.0 for this application everything will work fine as api is backward compatible, SRT_SOCKOPT is backward compatible, srt_setsockopt will just fail if you give it new unknown options etc.
But CBytePerfMon is not backward compatible now and this may be a problem if use want to switch from one srt version to another.
All we need to do is just add new options to the end of CBytePerfMon and don't remove old ones.

CBytePerfMon was the same from 1.3 till recent 1.4. Unfortunately I missed this commit before 1.4 was released but it's not late to move new "filter-related" params to the end of the structure and follow SRT_SOCKOPT-like rule for CBytePerfMon update
@maxsharabayko maxsharabayko added the [core] Area: Changes in SRT library core label Oct 7, 2019
@maxsharabayko maxsharabayko added this to Needs review in Development via automation Oct 7, 2019
@maxsharabayko maxsharabayko added this to the v1.4.1 milestone Oct 7, 2019
Development automation moved this from Needs review to Reviewer approved Oct 7, 2019
Copy link
Collaborator

@maxsharabayko maxsharabayko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. @alexpokotilo!

@rndi rndi merged commit d389ff6 into Haivision:master Oct 15, 2019
Development automation moved this from Reviewer approved to Done Oct 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[core] Area: Changes in SRT library core
Projects
No open projects
Development
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants