-
Notifications
You must be signed in to change notification settings - Fork 867
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
[docs] Added SRTO_PACINGMODE option #1533
base: master
Are you sure you want to change the base?
[docs] Added SRTO_PACINGMODE option #1533
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is related to #1383
docs/APISocketOptions.md
Outdated
| Mode / Option | SRTO_MAXBW | SRTO_INPUTBW | SRT_OHEADBW | Formula for `MAXBW` Calculation | | ||
| ------------------------ | ---------- | ------------ | ----------- | ------------------------------------------------------------ | | ||
| `SRT_PACING_DEFMAXBW` | -1 | - | - | `MAXBW` is set to the default value of 1Gbps | | ||
| `SRT_PACING_MAXBW` | ✓ | - | - | `MAXBW` is set explicitly, in bytes per second | | ||
| `SRT_PACING_INPUTBW` | 0 | ✓ | ✓ | `MAXBW = INPUTBW * (1 + OHEADBW /100)` | | ||
| `SRT_PACING_ESTINPUTBW` | 0 | 0 | ✓ | `MAXBW = ESTINPUTBW * (1 + OHEADBW /100)` | | ||
| `SRT_PACING_HYBRIDBW` | 0 | ✓ | ✓ | `MAX_BW = max(INPUTBW, ESTINPUT_BW) * (1 + OHEADBW /100)` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For convenience the other possible mode value SRT_PACING_UNSET
should also be listed in the table.
docs/APISocketOptions.md
Outdated
|
||
See section (TODO: insert link to the new RFC draft once published) for the detailed description of pacing control modes. | ||
|
||
It's important to note that options [SRTO_MAXBW](#SRTO_MAXBW), [SRTO_INPUTBW](#SRTO_INPUTBW) and [SRT_OHEADBW](#SRT_OHEADBW) should be set first, right before setting the `SRTO_PACINGMODE` option. The order is important. In case the combination of `SRTO_MAXBW`, `SRTO_INPUTBW` and `SRTO_OHEADBW` options is configured wrong for a particular pacing control mode, SRT will throw an error (TODO: discuss what kind of error and put this information here). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's important to note that options [SRTO_MAXBW](#SRTO_MAXBW), [SRTO_INPUTBW](#SRTO_INPUTBW) and [SRT_OHEADBW](#SRT_OHEADBW) should be set first, right before setting the `SRTO_PACINGMODE` option. The order is important. In case the combination of `SRTO_MAXBW`, `SRTO_INPUTBW` and `SRTO_OHEADBW` options is configured wrong for a particular pacing control mode, SRT will throw an error (TODO: discuss what kind of error and put this information here). | |
It's important to note that options [SRTO_MAXBW](#SRTO_MAXBW), [SRTO_INPUTBW](#SRTO_INPUTBW) and [SRTO_OHEADBW](#SRTO_OHEADBW) should be set first, right before setting the `SRTO_PACINGMODE` option. The order is important. In case the combination of `SRTO_MAXBW`, `SRTO_INPUTBW` and `SRTO_OHEADBW` options is configured wrong for a particular pacing control mode, SRT will throw an error (TODO: discuss what kind of error and put this information here). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't agree with this. The PACING_MODE vs. MAXBW, INPUTBW, OHEADBW table was to compare manual setting vs. PACING setting. I thought the PR was taking care of settings in any order. PACING_MODE setting shall simplify, not complexify configuration. For example, setting SRT_PACING_ESTINPUTBW would force set MAXBW and INPUTBW to 0. only OHEADBW is required, before or after PACING_MODE. I think the approach of the PR is that the last setting is applied. For example setting a non-0 value in INPUTBW after setting SRT_PACING_ESTINPUTBW would switch the mode to SRT_PACING_INPUTBW. It could have been SRT_PACING_HYBRIDBW (even more logic). Particular care was taken to preserve backward compatibility and a neutral behavior for application not setting PACING_MODE. If error are thrown it should not be for applications working properly with previous releases.
Added
SRTO_PACINGMODE
option plus relevant corrections toSRTO_MAXBW
,SRTO_INPUTBW
andSRTO_OHEADBW
options. To be merged together with PR #1383. This is a replacement of documentation provided in mentioned PR.TODO:
SRTO_PACINGMODE
and a combination ofSRTO_MAXBW
,SRTO_INPUTBW
andSRTO_OHEADBW
options -> add this information into documentation.