media-session: use simplified syntax

Now sure about this, it looks better but it's less compatible.
This commit is contained in:
Wim Taymans 2020-12-31 10:19:48 +01:00
parent 2fd35488c7
commit 20e9ec25be
2 changed files with 90 additions and 90 deletions

View file

@ -1,55 +1,55 @@
{
"properties": {
},
"rules": [
{
"#": [ "rules for matching a device or node. It is an array of",
"properties that all need to match the regexp. If any of the",
"matches work, the actions are executed for the object."
],
properties = {
}
"matches": [
rules = [
{
"device.name": "~alsa_card.*"
}
],
"actions": {
"#": [ "actions can update properties on the matched object."
],
# rules for matching a device or node. It is an array of
# properties that all need to match the regexp. If any of the
# matches work, the actions are executed for the object.
"update-props": {
"api.alsa.use-acp": true,
"#api.alsa.use-ucm": true,
"#api.alsa.soft-mixer": false,
"#api.alsa.ignore-dB": false,
"#device.profile-set": "profileset-name",
"#device.profile": "default profile name",
"#api.acp.auto-port": true,
"#api.acp.auto-profile": true
"#device.nick": "My Device",
matches = [
{
device.name = ~alsa_card.*
}
]
actions = {
# actions can update properties on the matched object.
update-props = {
api.alsa.use-acp = true
#api.alsa.use-ucm = true
#api.alsa.soft-mixer = false
#api.alsa.ignore-dB = false
#device.profile-set = "profileset-name"
#device.profile = "default profile name"
#api.acp.auto-port = true
#api.acp.auto-profile = true
#device.nick = "My Device"
}
}
},
{
"matches": [
{
"node.name": "~alsa_input.*"
},
{
"node.name": "~alsa_output.*"
}
],
"actions": {
"update-props": {
"#node.nick": "My Node",
"#node.nick": null,
"#priority.driver": 100,
"#resample.quality": 4,
"#channelmix.normalize": false,
"#channelmix.mix-lfe": false,
"#audio.format": "S16LE",
"#audio.rate": 44100,
"#audio.position": "FL,FR"
{
matches = [
{
node.name = ~alsa_input.*
}
{
node.name = ~alsa_output.*
}
]
actions = {
update-props = {
#node.nick = "My Node"
#node.nick = null
#priority.driver = 100
#priority.session = 100
#resample.quality = 4
#channelmix.normalize = false
#channelmix.mix-lfe = false
#audio.format = "S16LE"
#audio.rate = 44100
#audio.position = "FL,FR"
}
}
}

View file

@ -1,55 +1,55 @@
{
"properties": {
},
"spa-libs": {
"#": [ "Mapping from factory name to library."
],
properties = {
}
"api.bluez5.*": "bluez5/libspa-bluez5",
"api.alsa.*": "alsa/libspa-alsa",
"api.v4l2.*": "v4l2/libspa-v4l2",
"api.libcamera.*": "libcamera/libspa-libcamera"
},
"modules": {
"#": [ "These are the modules that are enabled when a file with",
"the key name is found in the media-session.d config directory.",
"the default bundle is always enabled."
],
spa-libs = {
# Mapping from factory name to library.
"default": [
"flatpak", "# manages flatpak access",
"portal", "# manage portal permissions",
"v4l2", "# video for linux udev detection",
"#libcamera", "# libcamera udev detection",
"suspend-node", "# suspend inactive nodes",
"policy-node", "# configure and link nodes",
"#metadata", "# export metadata API",
"#default-nodes", "# restore default nodes",
"#default-profile", "# restore default profiles",
"#default-routes", "# restore default route",
"#alsa-seq", "# alsa seq midi support",
"#alsa-monitor", "# alsa udev detection",
"#bluez5", "# bluetooth support",
"#restore-stream", "#restore stream settings"
],
"with-audio": [
"metadata",
"default-nodes",
"default-profile",
"default-routes",
"alsa-seq",
"alsa-monitor"
],
"with-alsa": [
"with-audio"
],
"with-jack": [
"with-audio"
],
"with-pulseaudio": [
"with-audio",
"bluez5",
"restore-stream"
api.bluez5.* = bluez5/libspa-bluez5
api.alsa.* = alsa/libspa-alsa
api.v4l2.* = v4l2/libspa-v4l2
api.libcamera.* = libcamera/libspa-libcamera
}
modules = {
# These are the modules that are enabled when a file with
# the key name is found in the media-session.d config directory.
# the default bundle is always enabled.
default = [
flatpak # manages flatpak access
portal # manage portal permissions
v4l2 # video for linux udev detection
#libcamera # libcamera udev detection
suspend-node # suspend inactive nodes
policy-node # configure and link nodes
#metadata # export metadata API
#default-nodes # restore default nodes
#default-profile # restore default profiles
#default-routes # restore default route
#alsa-seq # alsa seq midi support
#alsa-monitor # alsa udev detection
#bluez5 # bluetooth support
#restore-stream # restore stream settings
]
with-audio = [
metadata
default-nodes
default-profile
default-routes
alsa-seq
alsa-monitor
]
with-alsa = [
with-audio
]
with-jack = [
with-audio
]
with-pulseaudio = [
with-audio
bluez5
restore-stream
]
}
}