You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add RDMA bridge optional parameters in SDK JSON config (#397)
* Add the `provider` string parameter, options are `tcp` or `verbs`,
default `tcp`.
* Add the `numEndpoints` integer parameter, range 1..8, default 1.
* If one or both parameters are not equal, fail compatibility check.
* Implement JSON parameter parsing.
* Propagate parameters all the way down to Media Proxy and Agent.
* Make both parameters appear in create_bridge() to allow passing
them to configuration of RDMA brodge classes.
* Update SDK documentation.
* Add corresponding parameters `rdma_provider` and
`rdma_num_endpoints` in FFmpeg Plugin.
* Update FFmpeg Plugin documentation.
Signed-off-by: Konstantin Ilichev <[email protected]>
{ "video_size", "set video frame size given a string such as 640x480 or hd720", OFFSET(width), AV_OPT_TYPE_IMAGE_SIZE, {.str="1920x1080"}, 0, 0, DEC },
214
219
{ "pixel_format", "set video pixel format", OFFSET(pixel_format), AV_OPT_TYPE_PIXEL_FMT, {.i64=AV_PIX_FMT_YUV422P10LE}, AV_PIX_FMT_NONE, INT_MAX, DEC },
215
220
{ "frame_rate", "set video frame rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str="25"}, 0, INT_MAX, DEC },
221
+
{ "rdma_provider", "optional: set RDMA provider type ('tcp' or 'verbs')", OFFSET(rdma_provider), AV_OPT_TYPE_STRING, {.str="tcp"}, .flags=DEC },
222
+
{ "rdma_num_endpoints", "optional: set number of RDMA endpoints, range 1..8", OFFSET(rdma_num_endpoints), AV_OPT_TYPE_INT, {.i64=1}, 1, 8, DEC },
{ "video_size", "set video frame size given a string such as 640x480 or hd720", OFFSET(width), AV_OPT_TYPE_IMAGE_SIZE, {.str="1920x1080"}, 0, 0, ENC },
SDK allows passing some parameters to be applied when Egress or Ingress Bridge is created in Media Proxy.
4
+
5
+
When adding or modifying any of the RDMA or SMPTE ST 2110 SDK parameters, many parts of code should be adjusted accordingly. The affected software components are SDK, Media Proxy, and Agent.
6
+
7
+
The following diagram shows the propagation flow of SDK parameters from the JSON configuration to the bridge's `configure()` method. RDMA classes are taken as an example.
8
+
9
+
> Note: Each function AND each data structure mentioned in the diagram should be revised and adjusted appropriately.
0 commit comments