Merge pull request #319901 from MatthewCroughan/mc/ustreamer-webrtc

ustreamer: add janus-gateway webrtc support
This commit is contained in:
Nick Cao 2024-06-23 09:54:56 -04:00 committed by GitHub
commit 601cd7299d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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;
@ -33,7 +64,7 @@ stdenv.mkDerivation rec {
screencast hardware data with the highest resolution and FPS possible.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ tfc ];
maintainers = with maintainers; [ tfc matthewcroughan ];
platforms = platforms.linux;
};
}