aboutsummaryrefslogtreecommitdiff
path: root/.config/pipewire/pipewire.conf
blob: cbb380a7fe2a82de71f34846c7b47bc651f1a689 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
context.properties = {
    link.max-buffers                       = 16                       # version < 3 clients can't handle more


    core.daemon = true              # listening for socket connections
    core.name   = pipewire-0        # core name and socket name

    default.clock.rate          = 192000
    default.clock.allowed-rates = [ 48000 192000 ]

    module.x11.bell = true
    module.access = true
    module.jackdbus-detect = true
}

context.properties.rules = [
    {   matches = [ { cpu.vm.name = !null } ]
        actions = {
            update-props = {
                default.clock.min-quantum = 1024
	    }
        }
    }
]

context.spa-libs = {
    audio.convert.* = audioconvert/libspa-audioconvert
    avb.*           = avb/libspa-avb
    api.alsa.*      = alsa/libspa-alsa
    api.v4l2.*      = v4l2/libspa-v4l2
    api.libcamera.* = libcamera/libspa-libcamera
    api.bluez5.*    = bluez5/libspa-bluez5
    api.vulkan.*    = vulkan/libspa-vulkan
    api.jack.*      = jack/libspa-jack
    support.*       = support/libspa-support
    video.convert.* = videoconvert/libspa-videoconvert
}

context.modules = [

    { name = libpipewire-module-rt
        args = {
            nice.level    = -11
            rt.prio       = 88
        }
        flags = [ ifexists nofail ]
    }

    { name = libpipewire-module-protocol-native
        args = {
        }
    }

    { name = libpipewire-module-profiler }

    { name = libpipewire-module-metadata }

    { name = libpipewire-module-spa-device-factory }

    { name = libpipewire-module-spa-node-factory }

    { name = libpipewire-module-client-node }

    { name = libpipewire-module-client-device }

    { name = libpipewire-module-portal
        flags = [ ifexists nofail ]
    }

    { name = libpipewire-module-access
        args = {

        }
        condition = [ { module.access = true } ]
    }

    { name = libpipewire-module-adapter }

    { name = libpipewire-module-link-factory }

    { name = libpipewire-module-session-manager }

    { name = libpipewire-module-x11-bell
        args = {
        }
        flags = [ ifexists nofail ]
        condition = [ { module.x11.bell = true } ]
    }
    { name = libpipewire-module-jackdbus-detect
        args = {
            source.props = {
            }
            sink.props = {
            }
        }
        flags = [ ifexists nofail ]
        condition = [ { module.jackdbus-detect = true } ]
    }
]

context.objects = [

    { factory = spa-node-factory
        args = {
            factory.name    = support.node.driver
            node.name       = Dummy-Driver
            node.group      = pipewire.dummy
            node.sync-group  = sync.dummy
            priority.driver = 200000
        }
    }
    { factory = spa-node-factory
        args = {
            factory.name    = support.node.driver
            node.name       = Freewheel-Driver
            priority.driver = 190000
            node.group      = pipewire.freewheel
            node.sync-group  = sync.dummy
            node.freewheel  = true
        }
    }



]

context.exec = [
]