PULSEUADIO to PIPEWIRE default.pa -> pipewire.conf 1

PULSEUADIO to PIPEWIRE default.pa -> pipewire.conf

context.objects = {
    adapter = {
        args = {
            factory.name    = api.alsa.pcm.sink            # The ALSA sinks object on Pipewire
            node.name       = line_output            # A name for the device
            node.description        = "Line Output"            # A visible name for the device in the tray (mandatory quotes)
            media.class             = Audio/Sink            # Another sink parameter on Pipewire
            api.alsa.path           = "hw:PCH,0"            # Finally the sink location. Quotes are mandatory.
        }
    }
    adapter = {
        args = {
            factory.name    = api.alsa.pcm.source            # Here we did the same thing, just change "sink" to "source" and the names.
            node.name       = microphone_input
            node.description        = "Microphone Input"
            media.class             = Audio/Source
            api.alsa.path           = "hw:PCH,0"
        }
    }
    adapter = {
        args = {
            factory.name    = api.alsa.pcm.source
            node.name       = line_input
            node.description        = "Line Input"
            media.class             = Audio/Source
            api.alsa.path           = "hw:PCH,2"
        }
    }
}

Here is what the above code is Doing:
1. We’re creating a new context called “alsa-pcm”
2. We’re creating three objects in that context:
a. A sink called “line_output”
b. A source called “microphone_input”
c. A source called “line_input”
3. We’re setting the parameters for each object.
a. The factory.name is the type of object we’re creating.
b. The node.name is the name of the object.
c. The node.description is the name of the object that will be displayed in the tray.
d. The media.class is the type of object we’re creating.
e. The api.alsa.path is the location of the object.

Similar Posts