Unverified Commit 601cd729 authored by Nick Cao's avatar Nick Cao Committed by GitHub
Browse files

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

ustreamer: add janus-gateway webrtc support
parents c6aec80f 1c107769
Loading
Loading
Loading
Loading
+35 −4
Original line number Diff line number Diff line
{ 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;
  };
}