CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
|
The AWS Cloud Digital Interface (CDI) SDK is the library which implements the low-latency reliable transport of data between systems in the cloud including AWS Media Services and Amazon EC2 instances. The SDK takes care of the complex task of ensuring that large amounts of data are seamlessly transferred across the AWS network using multi-path technology to ensure lossless quality without the need for extensive network buffering and delay.
The SDK consists of two main API layers, depending on the desired level of functionality, and a common core layer. The CDI Audio, Video and Metadata (CDI-AVM) layer takes care of transferring multi-stream, modern video signals that contain video, audio and metadata. The CDI Raw Payload (CDI-RAW) layer takes care of transferring raw generic payloads. The CDI Core (CDI-CORE) layer takes care of common core functionality. The API layers are described in the sections below:
For transporting audio, video and metadata between multiple applications where definition of the payload data needs to be clearly defined, the CDI-AVM API can be used.
CDI Audio, Video and Metadata (CDI-AVM) API Home Page
For transporting raw data that is defined outside the scope of this API, the CDI-RAW API can be used.
CDI Raw Payload (CDI-RAW) API Home Page
For managing connections, the CDI Core API can be used.
CDI Core (CDI-CORE) API Home Page
As a convenience for developers, APIs for additional utility functions are provided.
The CDI OS API provides functions for common OS operations, abstracting OS-specific function names for Windows and Linux.
The CDI Pool API provides functions for managing memory for collections of items, such as transmit buffers, or data structures that are repeatedly created and destroyed throughout program operation.
The CDI Core utilizes the Rx Reorder function to reassemble the transmitted payload.
The table shown below contains abbreviations that are used in function, types and variable names within the API.
Abbreviation | Definition |
---|---|
Cdi | Cloud Digital Interface |
CdiAvm | Cloud Digital Interface Audio, Video and Transport API |
CdiCore | Cloud Digital Interface Core API |
CdiRaw | Cloud Digital Interface Core Raw Payload API |
Cb | Callback |
con | Connection |
mem | Memory |
ptr | Pointer |
Rx | Receiver |
Sgl | Scatter-Gather List |
str | Pointer to string |
Tx | Transmitter |
Contains details that describe the payload formats that are available to the receiver.
Contains details that describe the user-registered callback functions that must be implemented in receiver and transmitter applications.
User-Registered Callback Functions
Contains details about how timestamps can be sent and managed within CDI SDK.
The diagram shown below provides a overview of the CDI architecture.
Contains details that describe the internal architecture of the CDI SDK.
Contains details that describe the Endpoint Manager internal architecture.
Contains details that describe the Connection Probe internal architecture.
Contains details that describe the CDI test application.