Сравнение постов

Различия между постами #261761 (12.04.2022 15:43) и #279227 (10.01.2025 03:55).
1
# Daemon config file for PipeWire version "0.3.48" #
2
#
3
# Copy and edit this file in /etc/pipewire for system-wide changes
4
# or in ~/.config/pipewire for local changes.
5
#
6
# It is also possible to place a file with an updated section in
7
# /etc/pipewire/pipewire.conf.d/ for system-wide changes or in
8
# ~/.config/pipewire/pipewire.conf.d/ for local changes.
9
#
1
Producing small patios in highland cities requires a detailed approach to utilizing space, considering the unique challenges provided by the alpine terrain. The method encompasses various tactics, varying from the picking of space-efficient furnishing to the integration of versatile elements, all aimed at maximizing the potential of limited areas. Engaging in discussions that examine detailed design concepts, innovative storage options, and exchanging personal success stories transforms into a font of motivation for forum members seeking to optimize their small deck spaces amidst the characteristic landscapes of highland spaces. 
2
 
3
Choosing efficient furniture remains a fundamental facet of designing tiny decks, allowing people to make the most of the usable area without compromising on functionality or aesthetics. Incorporating dual-purpose elements additionally enhances the flexibility of little deck spaces, providing practical solutions that cater to diverse needs. These approaches jointly contribute to a inclusive approach that considers both the aesthetic appeal and practicality of small decks in alpine regions. 
4
 
5
Engaging in talks that dive into detailed design plans becomes a trigger for creativity, supplying a venue for individual persons to swap innovative concepts and answers tailored to mountainous environments. The dialogue encompasses creative storage options, addressing the challenge of limited space with practical and attractive approaches to organization. Individual success stories shared within the community transform into precious narratives, illustrating the viability and capability of optimizing small deck spaces in the unique context of alpine places. 
6
 
7
With this cooperative exchange, forum members gain helpful insights and a wealth of ideas to apply to their own compact deck projects, guaranteeing that each and every inch of space is thoughtfully applied in generating functional, visually appealing, and efficient backyard living areas in alpine environments. 
8
 
9
 
10
11
context.properties = {
12
    ## Configure properties in the system.
13
    #library.name.system                   = support/libspa-support
14
    #context.data-loop.library.name.system = support/libspa-support
15
    #support.dbus                          = true
16
    #link.max-buffers                      = 64
17
    link.max-buffers                       = 16                       # version < 3 clients can't handle more
18
    mem.warn-mlock                         = true                     # Gentoo should have good RLIMITs now
19
    #mem.allow-mlock                       = true
20
    #mem.mlock-all                         = false
21
    #clock.power-of-two-quantum            = true
22
    #log.level                             = 2
23
    #cpu.zero.denormals                    = false
24
25
    core.daemon = true              # listening for socket connections
26
    core.name   = pipewire-0        # core name and socket name
27
28
    ## Properties for the DSP configuration.
29
    #default.clock.rate          = 48000
30
    #default.clock.allowed-rates = [ 48000 ]
31
    #default.clock.quantum       = 1024
32
    default.clock.min-quantum   = 16
33
    #default.clock.max-quantum   = 2048
34
    #default.clock.quantum-limit = 8192
35
    #default.video.width         = 640
36
    #default.video.height        = 480
37
    #default.video.rate.num      = 25
38
    #default.video.rate.denom    = 1
39
    #
40
    #settings.check-quantum      = false
41
    #settings.check-rate         = false
42
    #
43
    # These overrides are only applied when running in a vm.
44
    vm.overrides = {
45
        default.clock.min-quantum = 1024
46
    }
47
}
48
49
context.spa-libs = {
50
    # = 
51
    #
52
    # Used to find spa factory names. It maps an spa factory name
53
    # regular expression to a library name that should contain
54
    # that factory.
55
    #
56
    audio.convert.* = audioconvert/libspa-audioconvert
57
    api.alsa.*      = alsa/libspa-alsa
58
    api.v4l2.*      = v4l2/libspa-v4l2
59
    api.libcamera.* = libcamera/libspa-libcamera
60
    api.bluez5.*    = bluez5/libspa-bluez5
61
    api.vulkan.*    = vulkan/libspa-vulkan
62
    api.jack.*      = jack/libspa-jack
63
    support.*       = support/libspa-support
64
    #videotestsrc   = videotestsrc/libspa-videotestsrc
65
    #audiotestsrc   = audiotestsrc/libspa-audiotestsrc
66
}
67
68
context.modules = [
69
    #{ name = 
70
    #    [ args  = {  =  ... } ]
71
    #    [ flags = [ [ ifexists ] [ nofail ] ]
72
    #}
73
    #
74
    # Loads a module with the given parameters.
75
    # If ifexists is given, the module is ignored when it is not found.
76
    # If nofail is given, module initialization failures are ignored.
77
    #
78
79
    # Uses realtime scheduling to boost the audio thread priorities. This uses
80
    # RTKit if the user doesn't have permission to use regular realtime
81
    # scheduling.
82
    { name = libpipewire-module-rt
83
        args = {
84
            nice.level    = -11
85
            #rt.prio      = 88
86
            #rt.time.soft = -1
87
            #rt.time.hard = -1
88
        }
89
        flags = [ ifexists nofail ]
90
    }
91
92
    # The native communication protocol.
93
    { name = libpipewire-module-protocol-native }
94
95
    # The profile module. Allows application to access profiler
96
    # and performance data. It provides an interface that is used
97
    # by pw-top and pw-profiler.
98
    { name = libpipewire-module-profiler }
99
100
    # Allows applications to create metadata objects. It creates
101
    # a factory for Metadata objects.
102
    { name = libpipewire-module-metadata }
103
104
    # Creates a factory for making devices that run in the
105
    # context of the PipeWire server.
106
    { name = libpipewire-module-spa-device-factory }
107
108
    # Creates a factory for making nodes that run in the
109
    # context of the PipeWire server.
110
    { name = libpipewire-module-spa-node-factory }
111
112
    # Allows creating nodes that run in the context of the
113
    # client. Is used by all clients that want to provide
114
    # data to PipeWire.
115
    { name = libpipewire-module-client-node }
116
117
    # Allows creating devices that run in the context of the
118
    # client. Is used by the session manager.
119
    { name = libpipewire-module-client-device }
120
121
    # The portal module monitors the PID of the portal process
122
    # and tags connections with the same PID as portal
123
    # connections.
124
    { name = libpipewire-module-portal
125
        flags = [ ifexists nofail ]
126
    }
127
128
    # The access module can perform access checks and block
129
    # new clients.
130
    { name = libpipewire-module-access
131
        args = {
132
            # access.allowed to list an array of paths of allowed
133
            # apps.
134
            #access.allowed = [
135
            #    /usr/bin/pipewire-media-session
136
            #]
137
138
            # An array of rejected paths.
139
            #access.rejected = [ ]
140
141
            # An array of paths with restricted access.
142
            #access.restricted = [ ]
143
144
            # Anything not in the above lists gets assigned the
145
            # access.force permission.
146
            #access.force = flatpak
147
        }
148
    }
149
150
    # Makes a factory for wrapping nodes in an adapter with a
151
    # converter and resampler.
152
    { name = libpipewire-module-adapter }
153
154
    # Makes a factory for creating links between ports.
155
    { name = libpipewire-module-link-factory }
156
157
    # Provides factories to make session manager objects.
158
    { name = libpipewire-module-session-manager }
159
160
    # Use libcanberra to play X11 Bell
161
    #{ name = libpipewire-module-x11-bell
162
    #  args = {
163
    #      #sink.name = ""
164
    #      #sample.name = "bell-window-system"
165
    #      #x11.display = null
166
    #      #x11.xauthority = null
167
    #  }
168
    #}
169
]
170
171
context.objects = [
172
    #{ factory = 
173
    #    [ args  = {  =  ... } ]
174
    #    [ flags = [ [ nofail ] ]
175
    #}
176
    #
177
    # Creates an object from a PipeWire factory with the given parameters.
178
    # If nofail is given, errors are ignored (and no object is created).
179
    #
180
    #{ factory = spa-node-factory   args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } }
181
    #{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
182
    #{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
183
    #{ factory = spa-node-factory   args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
184
    #{ factory = adapter            args = { factory.name = audiotestsrc node.name = my-test } }
185
    #{ factory = spa-node-factory   args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }
186
187
    # A default dummy driver. This handles nodes marked with the "node.always-driver"
188
    # property when no other driver is currently active. JACK clients need this.
189
    { factory = spa-node-factory
190
        args = {
191
            factory.name    = support.node.driver
192
            node.name       = Dummy-Driver
193
            node.group      = pipewire.dummy
194
            priority.driver = 20000
195
        }
196
    }
197
    { factory = spa-node-factory
198
        args = {
199
            factory.name    = support.node.driver
200
            node.name       = Freewheel-Driver
201
            priority.driver = 19000
202
            node.group      = pipewire.freewheel
203
            node.freewheel  = true
204
        }
205
    }
206
    # This creates a new Source node. It will have input ports
207
    # that you can link, to provide audio for this source.
208
    #{ factory = adapter
209
    #    args = {
210
    #        factory.name     = support.null-audio-sink
211
    #        node.name        = "my-mic"
212
    #        node.description = "Microphone"
213
    #        media.class      = "Audio/Source/Virtual"
214
    #        audio.position   = "FL,FR"
215
    #    }
216
    #}
217
218
    # This creates a single PCM source device for the given
219
    # alsa device path hw:0. You can change source to sink
220
    # to make a sink in the same way.
221
    #{ factory = adapter
222
    #    args = {
223
    #        factory.name           = api.alsa.pcm.source
224
    #        node.name              = "alsa-source"
225
    #        node.description       = "PCM Source"
226
    #        media.class            = "Audio/Source"
227
    #        api.alsa.path          = "hw:0"
228
    #        api.alsa.period-size   = 1024
229
    #        api.alsa.headroom      = 0
230
    #        api.alsa.disable-mmap  = false
231
    #        api.alsa.disable-batch = false
232
    #        audio.format           = "S16LE"
233
    #        audio.rate             = 48000
234
    #        audio.channels         = 2
235
    #        audio.position         = "FL,FR"
236
    #    }
237
    #}
238
]
239
240
context.exec = [
241
    #{ path =  [ args = "" ] }
242
    #
243
    # Execute the given program with arguments.
244
    #
245
    # You can optionally start the session manager here,
246
    # but it is better to start it as a systemd service.
247
    # Run the session manager with -h for options.
248
    #
249
    #{ path = "/usr/bin/pipewire-media-session" args = "" }
250
    #
251
    # You can optionally start the pulseaudio-server here as well
252
    # but it is better to start it as a systemd service.
253
    # It can be interesting to start another daemon here that listens
254
    # on another address with the -a option (eg. -a tcp:4713).
255
    #
256
    #{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }