commit
8978759e65
|
@ -0,0 +1,197 @@
|
|||
{
|
||||
"bluez5.features.device": [
|
||||
{
|
||||
"name": "Air 1 Plus",
|
||||
"no-features": [
|
||||
"hw-volume-mic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AirPods",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AirPods Pro",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AXLOIE Goin",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "JBL Endurance RUN BT",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl",
|
||||
"sbc-xq"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "JBL LIVE650BTNC"
|
||||
},
|
||||
{
|
||||
"name": "Soundcore Life P2-L",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Urbanista Stockholm Plus",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^94:16:25:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^9c:64:8b:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^a0:e9:db:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^0c:a6:94:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^00:14:02:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^44:5e:f3:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^d4:9c:28:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^00:18:6b:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^b8:ad:3e:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^a0:e9:db:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^00:24:1c:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^00:11:b1:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^a4:15:66:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^00:14:f1:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^00:26:7e:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "~^90:03:b7:",
|
||||
"no-features": [
|
||||
"hw-volume"
|
||||
]
|
||||
}
|
||||
],
|
||||
"bluez5.features.adapter": [
|
||||
{
|
||||
"bus-type": "usb",
|
||||
"vendor-id": "usb:0bda"
|
||||
},
|
||||
{
|
||||
"bus-type": "usb",
|
||||
"no-features": [
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"no-features": [
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
}
|
||||
],
|
||||
"bluez5.features.kernel": [
|
||||
{
|
||||
"sysname": "Linux",
|
||||
"release": "~^[0-4]\\.",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sysname": "Linux",
|
||||
"release": "~^5\\.[1-7]\\.",
|
||||
"no-features": [
|
||||
"msbc-alt1",
|
||||
"msbc-alt1-rtl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sysname": "Linux",
|
||||
"release": "~^5\\.(8|9|10)\\.",
|
||||
"no-features": [
|
||||
"msbc-alt1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"no-features": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -7,7 +7,7 @@
|
|||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
|
|
|
@ -15,6 +15,7 @@ let
|
|||
defaults = {
|
||||
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
|
||||
bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
|
||||
bluez-hardware = (builtins.fromJSON (builtins.readFile ./bluez-hardware.conf.json));
|
||||
media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
|
||||
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
||||
};
|
||||
|
@ -22,6 +23,7 @@ let
|
|||
configs = {
|
||||
alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
|
||||
bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor;
|
||||
bluez-hardware = defaults.bluez-hardware;
|
||||
media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
|
||||
v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
|
||||
};
|
||||
|
@ -120,6 +122,10 @@ in {
|
|||
mkIf config.services.pipewire.pulse.enable {
|
||||
source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
|
||||
};
|
||||
environment.etc."pipewire/media-session.d/bluez-hardware.conf" =
|
||||
mkIf config.services.pipewire.pulse.enable {
|
||||
source = json.generate "bluez-hardware.conf" configs.bluez-hardware;
|
||||
};
|
||||
|
||||
environment.etc."pipewire/media-session.d/with-jack" =
|
||||
mkIf config.services.pipewire.jack.enable {
|
||||
|
|
|
@ -2,16 +2,13 @@ diff --git a/meson_options.txt b/meson_options.txt
|
|||
index 93b5e2a9..1b915ac3 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -13,6 +13,9 @@ option('media-session',
|
||||
description: 'Build and install pipewire-media-session',
|
||||
@@ -200,3 +200,6 @@ option('media-session',
|
||||
type: 'feature',
|
||||
value: 'auto')
|
||||
+option('media-session-prefix',
|
||||
+ description: 'Install directory for pipewire-media-session and its support files',
|
||||
+ type: 'string')
|
||||
option('man',
|
||||
description: 'Build manpages',
|
||||
type: 'feature',
|
||||
option('session-managers',
|
||||
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
||||
index 1edebb2d..251270eb 100644
|
||||
--- a/src/daemon/systemd/user/meson.build
|
||||
|
|
|
@ -6,8 +6,8 @@ index bbafa134..227d3e06 100644
|
|||
# access.allowed to list an array of paths of allowed
|
||||
# apps.
|
||||
#access.allowed = [
|
||||
- # @media_session_path@
|
||||
+ # <media_session_path>
|
||||
- # @session_manager_path@
|
||||
+ # <session_manager_path>
|
||||
#]
|
||||
|
||||
# An array of rejected paths.
|
||||
|
@ -15,8 +15,8 @@ index bbafa134..227d3e06 100644
|
|||
# but it is better to start it as a systemd service.
|
||||
# Run the session manager with -h for options.
|
||||
#
|
||||
- @comment@{ path = "@media_session_path@" args = "" }
|
||||
+ @comment@{ path = "<media_session_path>" args = "" }
|
||||
- @comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
|
||||
+ @comment@{ path = "<session_manager_path>" args = "@session_manager_args@" }
|
||||
#
|
||||
# You can optionally start the pulseaudio-server here as well
|
||||
# but it is better to start it as a systemd service.
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
, dbus
|
||||
, alsa-lib
|
||||
, libjack2
|
||||
, libusb1
|
||||
, udev
|
||||
, libva
|
||||
, libsndfile
|
||||
|
@ -43,10 +44,11 @@ let
|
|||
};
|
||||
|
||||
mesonEnable = b: if b then "enabled" else "disabled";
|
||||
mesonList = l: "[" + lib.concatStringsSep "," l + "]";
|
||||
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "pipewire";
|
||||
version = "0.3.30";
|
||||
version = "0.3.31";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
|
@ -64,7 +66,7 @@ let
|
|||
owner = "pipewire";
|
||||
repo = "pipewire";
|
||||
rev = version;
|
||||
sha256 = "sha256-DnaPvZoDaegjtJNKBmCJEAZe5FQBnSER79FPnxiWQUE=";
|
||||
sha256 = "1dirz69ami7bcgy6hhh0ffi9gzwcy9idg94nvknwvwkjw4zm8m79";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -96,6 +98,7 @@ let
|
|||
dbus
|
||||
glib
|
||||
libjack2
|
||||
libusb1
|
||||
libsndfile
|
||||
ncurses
|
||||
udev
|
||||
|
@ -122,6 +125,7 @@ let
|
|||
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
|
||||
"-Dlibjack-path=${placeholder "jack"}/lib"
|
||||
"-Dlibcamera=disabled"
|
||||
"-Droc=disabled"
|
||||
"-Dlibpulse=${mesonEnable pulseTunnelSupport}"
|
||||
"-Davahi=${mesonEnable zeroconfSupport}"
|
||||
"-Dgstreamer=${mesonEnable gstreamerSupport}"
|
||||
|
@ -133,6 +137,7 @@ let
|
|||
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
|
||||
"-Dsysconfdir=/etc"
|
||||
"-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
|
||||
"-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}"
|
||||
];
|
||||
|
||||
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
|
||||
|
@ -187,6 +192,7 @@ let
|
|||
paths-out-media-session = [
|
||||
"nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/media-session.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue