pipewire: 0.3.22 -> 0.3.23
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user