3 releases

0.0.3 Nov 7, 2019
0.0.2 Oct 22, 2019
0.0.1 Oct 22, 2019

#20 in #rpi

25 downloads per month
Used in rpi-video-rs

MIT license

5KB

rpi-mmal-rs

This project uses rust-bindgen to make a simple Rust binding for the MMAL library of Raspberry Pi.

MMAL (Multi-Media Abstraction Layer) is a framework which is used to provide a host-side, simple and relatively low-level interface to multimedia components running on VideoCore. The source code of RPI MMAL could be reviewed in project userland.

This project is low-level and simple binding for using RPI camera. You could use rpi-video-rs simply for H264 video record.

Usage

Add the following to your Cargo.toml:

[dependencies]
rpi-mmal-rs = "0.0.3"

Development

Since this project sets the default target to arm-unknown-linux-gnueabihf. Developers should compile the code on a real RPI device or cross-compiling environment. We offer a Dockerfile (in folder tools/docker/) which is a separate cross-compiling environment.

Users or contributors should install the standard Rust development environment. And then adds Rust targets as below.

rustup target add arm-unknown-linux-gnueabihf
rustup target add armv7-unknown-linux-gnueabihf

TODO

  1. Integrates with a CI for testing successful compilation.

Dependencies

~0–2.3MB
~45K SLoC