About#
Oasis is the robust C++ multimedia operating middleware that seamlessly integrates multi-channel recording, ADAS, edge AI, and standard networking protocols with an edge UI framework and its power-loss resilient file system (OFFS) to deliver a complete turnkey solution for high-performance edge devices.
Oasis provides the following key components:
- Recording, Snapshot, OSD: Multi-channel, Timelapse, Event Recording
- Motion Detection: Multi-channel, Support for user-defined ROI (Region of Interest)
- Edge AI: Chipset-optimized AI modeling and object recognition
- Advanced Driver Assistance System (ADAS): Lane Departure Warning (LDW), Front Vehicle Start Alert (FVSA), Forward Collision Warning (FCW)
- Networking: HTTPS, WebSocket, WebRTC, RTSP, MQTT, SIP, DDS
- GUI: UI Framework, Media Player, Multi-channel Camera Video Monitoring
- File System: Guarantees data storage reliability under harsh conditions, such as sudden power loss
Oasis Networking is a component developed in compliance with standard protocol specifications, including TLS support.
Applications utilize desired components after initializing Oasis and its dedicated file system, OFFS (Oasis File System), and release Oasis upon termination.
The top-level namespace of Oasis is oasis, with additional sub-namespaces such as oasis::ui, oasis::fs, and oasis::display.
Oasis consists of API functions for using each component, along with Interfaces like Observers or Delegates.
When initializing Oasis or calling APIs to create individual components, key-value map data is passed as a parameter. Both key and value are formatted as strings.
Oasis utilizes The Parallel Hashmap.
Conventions#
Typedef#
Type Definition is formatted as follows:
Function#
Function is described in the following format:
Interface#
Interface is described in the following format:
Note
The virtual keyword is omitted in all interface function declarations.
Key-Value Map#
Key-Value Map is described in the following format:
M stands for Mandatory. If it is marked as ○ symbol, that key and its value must be provided.
Note
In the key-value map, all values are represented as strings. For keys with a bool attribute, true is represented as "1" and false is represented as "0".
Structure#
Structure is described in the following format:
Codeblock#
At the top right of each code block, there is a Copy to Clipboard button and a Word Wrap checkbox. Checking Word Wrap automatically wraps long lines of code for better readability.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.