Camera Engine is a re-usable component for embedded systems that leverages open-source techonologies like GStreamer and DBus to control media streaming, recording and video preview from remote user-interfaces (QT, webservices, etc). Camera engine is writte in Vala since both GStreamer and D-Bus use GNOME's object system. You can interact with the Camera Engine daemon in any programming language that has a d-bus library (e.g. C, C++, python).
The server uses GStreamer to perform RTSP streaming, record and preview videos simultaneously, as well as taking snapshots while it allows customization of certain parameters. Camera Engine exposes a D-Bus interface so multiple clients can perform actions over the server, regardless the programming language used. Camera Engine is designed to be portable, but is currently tested using DM368 and DM365 platforms.
Camera Engine UML design documentation is available online.
Camera Engine 1.0 API documentation is available online.
Camera Engine include the camera engine client test tool and a suite of unit tests.