pipewire: 0.3.22 -> 0.3.23

This commit is contained in:
Jan Solanti
2021-03-05 00:41:02 +02:00
parent 78bfbdd77a
commit b012ecaae7
18 changed files with 159 additions and 256 deletions
@@ -2,47 +2,33 @@
"properties": {},
"rules": [
{
"actions": {
"update-props": {
"api": {
"acp": {
"auto-port": false,
"auto-profile": false
},
"alsa": {
"use-acp": true
}
}
}
},
"matches": [
{
"device": {
"name": "~alsa_card.*"
}
"device.name": "~alsa_card.*"
}
]
],
"actions": {
"update-props": {
"api.alsa.use-acp": true,
"api.acp.auto-profile": false,
"api.acp.auto-port": false
}
}
},
{
"actions": {
"update-props": {
"node": {
"pause-on-idle": false
}
}
},
"matches": [
{
"node": {
"name": "~alsa_input.*"
}
"node.name": "~alsa_input.*"
},
{
"node": {
"name": "~alsa_output.*"
}
"node.name": "~alsa_output.*"
}
]
],
"actions": {
"update-props": {
"node.pause-on-idle": false
}
}
}
]
}
@@ -2,37 +2,29 @@
"properties": {},
"rules": [
{
"matches": [
{
"device.name": "~bluez_card.*"
}
],
"actions": {
"update-props": {}
},
"matches": [
{
"device": {
"name": "~bluez_card.*"
}
}
]
}
},
{
"actions": {
"update-props": {
"node": {
"pause-on-idle": false
}
}
},
"matches": [
{
"node": {
"name": "~bluez_input.*"
}
"node.name": "~bluez_input.*"
},
{
"node": {
"name": "~bluez_output.*"
}
"node.name": "~bluez_output.*"
}
]
],
"actions": {
"update-props": {
"node.pause-on-idle": false
}
}
}
]
}
@@ -1,5 +1,7 @@
{
"context.properties": {},
"context.properties": {
"log.level": 0
},
"context.spa-libs": {
"audio.convert.*": "audioconvert/libspa-audioconvert",
"support.*": "support/libspa-support"
@@ -18,5 +20,7 @@
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-session-manager": null
}
},
"filter.properties": {},
"stream.properties": {}
}
@@ -1,5 +1,7 @@
{
"context.properties": {},
"context.properties": {
"log.level": 0
},
"context.spa-libs": {
"audio.convert.*": "audioconvert/libspa-audioconvert",
"support.*": "support/libspa-support"
@@ -11,5 +13,7 @@
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-session-manager": null
}
},
"filter.properties": {},
"stream.properties": {}
}
@@ -1,5 +1,7 @@
{
"context.properties": {},
"context.properties": {
"log.level": 0
},
"context.spa-libs": {
"support.*": "support/libspa-support"
},
@@ -1,10 +1,12 @@
{
"context.properties": {},
"context.spa-libs": {
"api.bluez5.*": "bluez5/libspa-bluez5",
"api.alsa.*": "alsa/libspa-alsa",
"api.v4l2.*": "v4l2/libspa-v4l2",
"api.libcamera.*": "libcamera/libspa-libcamera"
},
"context.modules": {
"libpipewire-module-protocol-native": null,
"libpipewire-module-adapter": null,
"libpipewire-module-client-device": null,
"libpipewire-module-client-node": null,
"libpipewire-module-metadata": null,
"libpipewire-module-rtkit": {
"args": {},
"flags": [
@@ -12,15 +14,13 @@
"nofail"
]
},
"libpipewire-module-protocol-native": null,
"libpipewire-module-client-node": null,
"libpipewire-module-client-device": null,
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-session-manager": null
},
"context.properties": {},
"context.spa-libs": {
"api.alsa.*": "alsa/libspa-alsa",
"api.bluez5.*": "bluez5/libspa-bluez5",
"api.libcamera.*": "libcamera/libspa-libcamera",
"api.v4l2.*": "v4l2/libspa-v4l2"
},
"session.modules": {
"default": [
"flatpak",
@@ -29,9 +29,6 @@
"suspend-node",
"policy-node"
],
"with-alsa": [
"with-audio"
],
"with-audio": [
"metadata",
"default-nodes",
@@ -40,6 +37,9 @@
"alsa-seq",
"alsa-monitor"
],
"with-alsa": [
"with-audio"
],
"with-jack": [
"with-audio"
],
@@ -112,7 +112,8 @@ in {
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
services.pipewire.sessionManagerExecutable = builtins.unsafeDiscardStringContext "${cfg.package}/bin/pipewire-media-session";
systemd.packages = [ cfg.package ];
systemd.user.services.pipewire-media-session.wantedBy = [ "pipewire.service" ];
environment.etc."pipewire/media-session.d/media-session.conf" = { text = toSPAJSON (recursiveUpdate defaults.media-session cfg.config.media-session); };
environment.etc."pipewire/media-session.d/v4l2-monitor.conf" = { text = toSPAJSON (recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor); };
@@ -23,5 +23,6 @@
]
}
}
}
},
"stream.properties": {}
}
@@ -29,7 +29,12 @@
"libpipewire-module-spa-node-factory": null,
"libpipewire-module-client-node": null,
"libpipewire-module-client-device": null,
"libpipewire-module-portal": null,
"libpipewire-module-portal": {
"flags": [
"ifexists",
"nofail"
]
},
"libpipewire-module-access": {
"args": {}
},
@@ -46,9 +51,5 @@
}
}
},
"context.exec": {
"/nix/store/1q65a09arb7r4sdfz657p473kn3lqknk-pipewire-0.3.22/bin/pipewire-media-session": {
"args": ""
}
}
"context.exec": {}
}
@@ -20,6 +20,7 @@ let
prioritizeNativeProtocol = {
"context.modules" = {
# Most other modules depend on this, so put it first
"libpipewire-module-protocol-native" = {
_priority = -100;
_content = null;
@@ -27,10 +28,22 @@ let
};
};
sessionManagerInvocation = {
"context.exec" = {
"${cfg.sessionManagerExecutable}" = {
args = "${lib.concatStringsSep " " cfg.sessionManagerArguments}";
fixDaemonModulePriorities = {
"context.modules" = {
# Most other modules depend on thism so put it first
"libpipewire-module-protocol-native" = {
_priority = -100;
_content = null;
};
# Needs to be before libpipewire-module-access
"libpipewire-module-portal" = {
_priority = -50;
_content = {
flags = [
"ifexists"
"nofail"
];
};
};
};
};
@@ -42,7 +55,7 @@ let
client-rt = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client-rt.conf.json)) prioritizeNativeProtocol;
jack = recursiveUpdate (builtins.fromJSON (builtins.readFile ./jack.conf.json)) prioritizeNativeProtocol;
# Remove session manager invocation from the upstream generated file, it points to the wrong path
pipewire = recursiveUpdate ((removeAttrs (builtins.fromJSON (builtins.readFile ./pipewire.conf.json)) ["context.exec"]) // sessionManagerInvocation) prioritizeNativeProtocol;
pipewire = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire.conf.json)) fixDaemonModulePriorities;
pipewire-pulse = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json)) prioritizeNativeProtocol;
};
@@ -140,24 +153,6 @@ in {
};
};
sessionManagerExecutable = mkOption {
type = types.str;
default = "";
example = literalExample ''${pkgs.pipewire.mediaSession}/bin/pipewire-media-session'';
description = ''
Path to the session manager executable.
'';
};
sessionManagerArguments = mkOption {
type = types.listOf types.str;
default = [];
example = literalExample ''["-p" "bluez5.msbc-support=true"]'';
description = ''
Arguments passed to the pipewire session manager.
'';
};
alsa = {
enable = mkEnableOption "ALSA support";
support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
@@ -2,37 +2,29 @@
"properties": {},
"rules": [
{
"matches": [
{
"device.name": "~v4l2_device.*"
}
],
"actions": {
"update-props": {}
},
"matches": [
{
"device": {
"name": "~v4l2_device.*"
}
}
]
}
},
{
"actions": {
"update-props": {
"node": {
"pause-on-idle": false
}
}
},
"matches": [
{
"node": {
"name": "~v4l2_input.*"
}
"node.name": "~v4l2_input.*"
},
{
"node": {
"name": "~v4l2_output.*"
}
"node.name": "~v4l2_output.*"
}
]
],
"actions": {
"update-props": {
"node.pause-on-idle": false
}
}
}
]
}