From aaa7a2619ad68ee70878ef25e253118f3cb82e74 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Fri, 14 Jun 2024 21:45:30 +0100 Subject: [PATCH] ustreamer: add janus-gateway webrtc support Co-authored-by: Nick Cao --- pkgs/applications/video/ustreamer/default.nix | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix index 230012dbc532..37a638267935 100644 --- a/pkgs/applications/video/ustreamer/default.nix +++ b/pkgs/applications/video/ustreamer/default.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, libbsd, libevent, libjpeg, libdrm, pkg-config }: - +{ lib +, stdenv +, fetchFromGitHub +, libbsd +, libevent +, libjpeg +, libdrm +, pkg-config +, janus-gateway +, glib +, alsa-lib +, speex +, jansson +, libopus +, withJanus ? true +}: stdenv.mkDerivation rec { pname = "ustreamer"; version = "6.12"; @@ -11,13 +25,30 @@ stdenv.mkDerivation rec { hash = "sha256-iaCgPHgklk7tbhJhQmyjKggb1bMWBD+Zurgfk9sCQ3E="; }; - buildInputs = [ libbsd libevent libjpeg libdrm ]; + buildInputs = [ + libbsd + libevent + libjpeg + libdrm + ] ++ lib.optionals withJanus [ + janus-gateway + glib + alsa-lib + jansson + speex + libopus + ]; nativeBuildInputs = [ pkg-config ]; makeFlags = [ "PREFIX=${placeholder "out"}" "WITH_V4P=1" + ] ++ lib.optionals withJanus [ + "WITH_JANUS=1" + # Workaround issues with Janus C Headers + # https://github.com/pikvm/ustreamer/blob/793f24c4/docs/h264.md#fixing-janus-c-headers + "CFLAGS=-I${lib.getDev janus-gateway}/include/janus" ]; enableParallelBuilding = true;