CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
Loading...
Searching...
No Matches
AWS Cloud Digital Interface (CDI)

Introduction

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:

CDI Audio, Video and Metadata (CDI-AVM) API

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

CDI Raw Payload (CDI-RAW) API

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

CDI Core (CDI-CORE) API

For managing connections, the CDI Core API can be used.

CDI Core (CDI-CORE) API Home Page

CDI Utilities

As a convenience for developers, APIs for additional utility functions are provided.

CDI OS API

The CDI OS API provides functions for common OS operations, abstracting OS-specific function names for Windows and Linux.

CDI Pool API

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.

Other Design Details

CDI Core Rx Reorder

The CDI Core utilizes the Rx Reorder function to reassemble the transmitted payload.

Rx Reorder Home Page

Abbreviations

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

RX Payload Formats

Contains details that describe the payload formats that are available to the receiver.

RX Payload Formats

User-Registered Callback Functions

Contains details that describe the user-registered callback functions that must be implemented in receiver and transmitter applications.

User-Registered Callback Functions

Timestamp Management

Contains details about how timestamps can be sent and managed within CDI SDK.

Managing Timestamp Data

Overview of the CDI Architecture

The diagram shown below provides a overview of the CDI architecture.

Internal Architecture

Contains details that describe the internal architecture of the CDI SDK.

Internal Architecture

Endpoint Manager Architecture

Contains details that describe the Endpoint Manager internal architecture.

Endpoint Manager Architecture

Connection Probe Architecture

Contains details that describe the Connection Probe internal architecture.

Connection Probe Architecture

CDI Test Application

Contains details that describe the CDI test application.

CDI Test