Skip to content

Interfaces

Core API

Placeholder When dealing with existing applications or low-latency requirements it's critical to reduce overhead and provide maximum flexibility. The Core API directly exposes the native C++ classes for each module in CVEDIA-RT, allowing you to directly compile them into another project.

This layer does not provide any lifecycle management besides RAII for its object pointers.

Managed API

Placeholder CVEDIA-RT is designed to run as a server in which multiple runtime instances can run simultaneous. Each instance represents a video stream, camera or other type of input. The managed interface provides a high-level API to interact with both the server as well as each instance.

Additionally this layer introduces the concept of a State Dictionary in which modules can store data and communicate with eachother. This dictionary is a nested, type invariant storage that's directly compatible with JSON, XML and Lua.

Each module resembles a high level building block that makes it easy to develop custom applications or use-cases.

Scripting

Placeholder The highest interface layer is provided by a scripting language named Lua. These scripts are mainly used for configuring business logic although it has the exact same API access as the Managed interface.

Lua scripts introduce the concept of callbacks for events loop (onInit, onStart, etc..) as well as exposing a powerful API for developing user interfaces.