From 3c818772d11ec85dd0c9a7da4cb8606898fd18a2 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Sun, 4 Sep 2022 20:27:25 +0200 Subject: [PATCH] Add scripts to create build env for other architectures --- .dockerignore | 9 +++++++++ Dockerfile | 10 ++++++++++ build-env | 21 +++++++++++++++++++++ device/libcamera/device.cc | 2 +- 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100755 build-env diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a8e0218 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +*.o +*.d +*.a +test_* +tmp/ +.vscode/ +.git/ +CMakeFiles/ +examples/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ad7700b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +ARG DOCKER_ARCH +FROM ${DOCKER_ARCH}debian:bullseye as build_env + +# Default packages +RUN apt-get -y update && apt-get -y install gnupg2 libavformat-dev libavutil-dev libavcodec-dev v4l-utils pkg-config xxd build-essential ccache + +# Add RPI packages +RUN echo "deb http://archive.raspberrypi.org/debian/ bullseye main" > /etc/apt/sources.list.d/raspi.list +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E +RUN apt-get -y update && apt-get -y install libcamera-dev liblivemedia-dev diff --git a/build-env b/build-env new file mode 100755 index 0000000..a3b10d5 --- /dev/null +++ b/build-env @@ -0,0 +1,21 @@ +#!/bin/bash + +if [[ $# -gt 1 ]]; then + echo "usage: $0 " + exit 1 +fi + +docker_arch="" +docker_image="camera_streamer_build_env" +[[ -n "$1" ]] && docker_arch="$1/" && docker_image="${build_env}:${1}" + +echo "$UID" + +PWD=$(pwd) +ROOT=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd) + +set -xeo pipefail + +docker build -t "$docker_image" --build-arg "DOCKER_ARCH=$docker_arch" --target build_env - < Dockerfile + +exec docker run --rm -it -u "$UID" -v "$ROOT" -w "$ROOT" "$docker_image" diff --git a/device/libcamera/device.cc b/device/libcamera/device.cc index da0ed5d..373ef02 100644 --- a/device/libcamera/device.cc +++ b/device/libcamera/device.cc @@ -123,7 +123,7 @@ void libcamera_device_close(device_t *dev) int libcamera_device_set_fps(device_t *dev, int desired_fps) { int64_t frame_time = 1000000 / desired_fps; - dev->libcamera->controls.set(libcamera::controls::FrameDurationLimits, { frame_time, frame_time }); + dev->libcamera->controls.set(libcamera::controls::FrameDurationLimits.id(), libcamera::ControlValue(frame_time)); return 0; }