summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Solanti <jhs@psonet.com>2022-02-17 17:39:31 +0200
committerJan Solanti <jhs@psonet.com>2022-02-17 17:39:31 +0200
commitafbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49 (patch)
tree1489498d4b7a037f7ecb7a4a567efd20b35de193
parenta0dbbd379610bfb6c13405e243a88d401f22cb00 (diff)
downloadnixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.tar
nixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.tar.gz
nixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.tar.bz2
nixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.tar.lz
nixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.tar.xz
nixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.tar.zst
nixpkgs-afbb3ca9ef1a2ca66f96d7447e79030d8b5dbf49.zip
pipewire: 0.3.45 -> 0.3.46
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json2
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json118
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json65
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json7
-rw-r--r--pkgs/development/libraries/pipewire/0070-installed-tests-path.patch14
-rw-r--r--pkgs/development/libraries/pipewire/default.nix5
6 files changed, 195 insertions, 16 deletions
diff --git a/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json b/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
index 284d8c394a6..9aa51b61431 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
@@ -8,7 +8,7 @@
   },
   "context.modules": [
     {
-      "name": "libpipewire-module-rtkit",
+      "name": "libpipewire-module-rt",
       "args": {},
       "flags": [
         "ifexists",
diff --git a/nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json b/nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json
new file mode 100644
index 00000000000..c7f58fd5799
--- /dev/null
+++ b/nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json
@@ -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": []
+}
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
index 3ed994f1114..df0f62556df 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
@@ -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"
+        }
+      }
+    }
+  ]
 }
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
index a923ab4db23..7c79f0168c0 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
@@ -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"
diff --git a/pkgs/development/libraries/pipewire/0070-installed-tests-path.patch b/pkgs/development/libraries/pipewire/0070-installed-tests-path.patch
index 926de306254..b2bcb421bef 100644
--- a/pkgs/development/libraries/pipewire/0070-installed-tests-path.patch
+++ b/pkgs/development/libraries/pipewire/0070-installed-tests-path.patch
@@ -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')
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 79682d7ace8..a89b579c4eb 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -69,7 +69,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.45";
+    version = "0.3.46";
 
     outputs = [
       "out"
@@ -87,7 +87,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-OnQd98qfOekAsVXLbciZLNPrM84KBX6fOx/f8y2BYI0=";
+      sha256 = "sha256-29p6nEaIDeOAAnRJXwJWEnMTCNzAGVi9f8856I1R+fg=";
     };
 
     patches = [
@@ -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"
           ];