Merge pull request #160482 from jansol/pipewire

This commit is contained in:
Sandro 2022-03-05 03:08:25 +01:00 committed by GitHub
commit 13c9be5066
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 200 additions and 18 deletions

View file

@ -8,7 +8,7 @@
},
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"name": "libpipewire-module-rt",
"args": {},
"flags": [
"ifexists",

View file

@ -0,0 +1,118 @@
{
"context.properties": {
"link.max-buffers": 16,
"core.daemon": true,
"core.name": "pipewire-0",
"settings.check-quantum": true,
"settings.check-rate": true,
"vm.overrides": {
"default.clock.min-quantum": 1024
}
},
"context.spa-libs": {
"audio.convert.*": "audioconvert/libspa-audioconvert",
"api.alsa.*": "alsa/libspa-alsa",
"support.*": "support/libspa-support"
},
"context.modules": [
{
"name": "libpipewire-module-rt",
"args": {
"nice.level": -11
},
"flags": [
"ifexists",
"nofail"
]
},
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-profiler"
},
{
"name": "libpipewire-module-metadata"
},
{
"name": "libpipewire-module-spa-node-factory"
},
{
"name": "libpipewire-module-client-node"
},
{
"name": "libpipewire-module-access",
"args": {}
},
{
"name": "libpipewire-module-adapter"
},
{
"name": "libpipewire-module-link-factory"
}
],
"context.objects": [
{
"factory": "metadata",
"args": {
"metadata.name": "default"
}
},
{
"factory": "spa-node-factory",
"args": {
"factory.name": "support.node.driver",
"node.name": "Dummy-Driver",
"node.group": "pipewire.dummy",
"priority.driver": 20000
}
},
{
"factory": "spa-node-factory",
"args": {
"factory.name": "support.node.driver",
"node.name": "Freewheel-Driver",
"priority.driver": 19000,
"node.group": "pipewire.freewheel",
"node.freewheel": true
}
},
{
"factory": "adapter",
"args": {
"factory.name": "api.alsa.pcm.source",
"node.name": "system",
"node.description": "system",
"media.class": "Audio/Source",
"api.alsa.path": "hw:0",
"node.suspend-on-idle": true,
"resample.disable": true,
"channelmix.disable": true,
"adapter.auto-port-config": {
"mode": "dsp",
"monitor": false,
"position": "unknown"
}
}
},
{
"factory": "adapter",
"args": {
"factory.name": "api.alsa.pcm.sink",
"node.name": "system",
"node.description": "system",
"media.class": "Audio/Sink",
"api.alsa.path": "hw:0",
"node.suspend-on-idle": true,
"resample.disable": true,
"channelmix.disable": true,
"adapter.auto-port-config": {
"mode": "dsp",
"monitor": false,
"position": "unknown"
}
}
}
],
"context.exec": []
}

View file

@ -6,8 +6,10 @@
},
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"name": "libpipewire-module-rt",
"args": {
"nice.level": -11
},
"flags": [
"ifexists",
"nofail"
@ -37,6 +39,61 @@
}
}
],
"context.exec": [],
"stream.properties": {}
"context.exec": [
{
"path": "pactl",
"args": "load-module module-always-sink"
}
],
"stream.properties": {},
"pulse.rules": [
{
"matches": [
{}
],
"actions": {
"update-props": {}
}
},
{
"matches": [
{
"application.process.binary": "teams"
},
{
"application.process.binary": "skypeforlinux"
}
],
"actions": {
"quirks": [
"force-s16-info"
]
}
},
{
"matches": [
{
"application.process.binary": "firefox"
}
],
"actions": {
"quirks": [
"remove-capture-dont-move"
]
}
},
{
"matches": [
{
"application.name": "~speech-dispatcher*"
}
],
"actions": {
"update-props": {
"pulse.min.req": "1024/48000",
"pulse.min.quantum": "1024/48000"
}
}
}
]
}

View file

@ -3,6 +3,7 @@
"link.max-buffers": 16,
"core.daemon": true,
"core.name": "pipewire-0",
"default.clock.min-quantum": 16,
"vm.overrides": {
"default.clock.min-quantum": 1024
}
@ -19,8 +20,10 @@
},
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"name": "libpipewire-module-rt",
"args": {
"nice.level": -11
},
"flags": [
"ifexists",
"nofail"

View file

@ -25,15 +25,18 @@ let
client = lib.importJSON ./daemon/client.conf.json;
client-rt = lib.importJSON ./daemon/client-rt.conf.json;
jack = lib.importJSON ./daemon/jack.conf.json;
minimal = lib.importJSON ./daemon/minimal.conf.json;
pipewire = lib.importJSON ./daemon/pipewire.conf.json;
pipewire-pulse = lib.importJSON ./daemon/pipewire-pulse.conf.json;
};
useSessionManager = cfg.wireplumber.enable || cfg.media-session.enable;
configs = {
client = recursiveUpdate defaults.client cfg.config.client;
client-rt = recursiveUpdate defaults.client-rt cfg.config.client-rt;
jack = recursiveUpdate defaults.jack cfg.config.jack;
pipewire = recursiveUpdate defaults.pipewire cfg.config.pipewire;
pipewire = recursiveUpdate (if useSessionManager then defaults.pipewire else defaults.minimal) cfg.config.pipewire;
pipewire-pulse = recursiveUpdate defaults.pipewire-pulse cfg.config.pipewire-pulse;
};
in {

View file

@ -1,23 +1,23 @@
diff --git a/meson.build b/meson.build
index d4a4cda7..a27569bd 100644
index 2107c19ec..20ccdfd9f 100644
--- a/meson.build
+++ b/meson.build
@@ -353,8 +353,8 @@ libinotify_dep = (build_machine.system() == 'freebsd'
alsa_dep = dependency('alsa', version : '>=1.1.7', required: get_option('pipewire-alsa'))
@@ -380,8 +380,8 @@ lilv_lib = dependency('lilv-0', required: get_option('lv2'))
summary({'lilv (for lv2 plugins)': lilv_lib.found()}, bool_yn: true)
cdata.set('HAVE_LILV', lilv_lib.found())
-installed_tests_metadir = pipewire_datadir / 'installed-tests' / pipewire_name
-installed_tests_execdir = pipewire_libexecdir / 'installed-tests' / pipewire_name
+installed_tests_metadir = get_option('installed_test_prefix') / 'share' / 'installed-tests' / pipewire_name
+installed_tests_execdir = get_option('installed_test_prefix') / 'libexec' / 'installed-tests' / pipewire_name
installed_tests_enabled = not get_option('installed_tests').disabled()
installed_tests_enabled = get_option('installed_tests').allowed()
installed_tests_template = files('template.test.in')
diff --git a/meson_options.txt b/meson_options.txt
index 1b915ac3..85beb86a 100644
index 961ae2a76..a36e9e45f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -29,6 +29,9 @@ option('installed_tests',
@@ -22,6 +22,9 @@ option('installed_tests',
description: 'Install manual and automated test executables',
type: 'feature',
value: 'disabled')

View file

@ -69,7 +69,7 @@ let
self = stdenv.mkDerivation rec {
pname = "pipewire";
version = "0.3.45";
version = "0.3.48";
outputs = [
"out"
@ -87,7 +87,7 @@ let
owner = "pipewire";
repo = "pipewire";
rev = version;
sha256 = "sha256-OnQd98qfOekAsVXLbciZLNPrM84KBX6fOx/f8y2BYI0=";
sha256 = "sha256-+gk/MJ9YimHBwN2I42DRP+I2OqBFFtZ81Fd/l89HcSk=";
};
patches = [
@ -139,7 +139,7 @@ let
++ lib.optional zeroconfSupport avahi
++ lib.optional raopSupport openssl
++ lib.optional rocSupport roc-toolkit
++ lib.optionals x11Support [ libcanberra xorg.libxcb ];
++ lib.optionals x11Support [ libcanberra xorg.libX11 xorg.libXfixes ];
# Valgrind binary is required for running one optional test.
checkInputs = lib.optional withValgrind valgrind;
@ -214,6 +214,7 @@ let
"nix-support/client-rt.conf.json"
"nix-support/client.conf.json"
"nix-support/jack.conf.json"
"nix-support/minimal.conf.json"
"nix-support/pipewire.conf.json"
"nix-support/pipewire-pulse.conf.json"
];