Add scripts to create build env for other architectures

This commit is contained in:
Kamil Trzcinski 2022-09-04 20:27:25 +02:00
parent 0a37c63d00
commit 3c818772d1
4 changed files with 41 additions and 1 deletions

9
.dockerignore Normal file
View File

@ -0,0 +1,9 @@
*.o
*.d
*.a
test_*
tmp/
.vscode/
.git/
CMakeFiles/
examples/

10
Dockerfile Normal file
View File

@ -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

21
build-env Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
if [[ $# -gt 1 ]]; then
echo "usage: $0 <amd64|arm32v7|arm64v8>"
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"

View File

@ -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;
}