Commit graph

34 commits

Author SHA1 Message Date
Wim Taymans
6756a3c8fc monitor: remove monitor API and use device
Remove the monitor API, we can use the device API for it. Make sure
we support creating devices (like alsa) from another device (udev).

Use new object.id to store the object id in the object properties. Use
the port.id/node.id etc to make relations to other objects.
2019-09-20 13:04:14 +02:00
Wim Taymans
818fb9e904 alsa: add midi bridge
Add a node that exposes all midi input and output ports and converts to
and from PipeWire control streams.
2019-09-19 16:57:00 +02:00
Wim Taymans
5b9869200f jack: add jack source and sink
Makes a device with a source and sink that automatically
proxies all physical ports from jack. Jack then drives our
PipeWire pipeline from its own thread.
2019-08-20 20:35:41 +02:00
Wim Taymans
9799b0e679 vulkan: add vulkan compute source
Add a source that runs a compute shader and exports the GPU buffer
as a DmaBuf to the clients.
2019-08-19 16:32:22 +02:00
Wim Taymans
d7098d6a4c session: handle monitor in the session
Load the monitor in the session manager.
Export devices to pipewire.
Create nodes or a device in an adapter.
2019-07-10 20:24:11 +02:00
Wim Taymans
94e7be1845 media-session: use adapter around sink
Don't use the DSP nodes anymore, use the adapter instead and wrap
it around a sink/source.
2019-07-02 17:39:04 +02:00
Wim Taymans
6720ded529 names: add standard factory name definitions
Define a set of standard factory names and document what they
contain. This makes it possible to change the implementation by
mapping the factory-name to a different shared library.
2019-06-21 13:31:34 +02:00
Wim Taymans
03eeb945f3 daemon: add support for properties in the config file
Make a set-prop command to set a property from the config file
into a pw_properties. Pass this to the pw_core_new() and the
main-loop to tweak some stuff.

Move some warns to errors
2019-06-20 15:19:28 +02:00
Wim Taymans
1d1f035e78 monitor: return factory_name in the object_info
Pass a factory_name in the object_info of monitor and device.
Restructure the factory name to mean something functionaly. With
the factory to library mapping this then means that the implementation
of certain factories can be configured in the config file.
2019-05-31 15:06:44 +02:00
Wim Taymans
7ef99b8edb examples: add export-spa-device example 2019-05-28 14:07:22 +02:00
Wim Taymans
39f1309130 conf: remove old module 2019-01-30 10:50:23 +01:00
Wim Taymans
5088bcce60 module-access: make new access module
Rename the flatpak module to access module. The access module should
either let the client connect or mask the client busy while the
permissions are being configured. It is then up to the session manager
to collect the right permissions of the objects and configure those
in the client.

Let the media session monitor the clients and configure the permissions.
2018-10-27 17:33:21 +01:00
Wim Taymans
bfcaec75c7 daemon: put version in config
Fixes #88
2018-10-11 09:41:30 +02:00
Wim Taymans
eb765b26b3 command: add exec command
Add exec command and use it to start the session manager by default
2018-10-02 09:17:07 +02:00
Wim Taymans
a6ad8f747f remove spalib 2018-08-14 15:29:25 +02:00
Wim Taymans
17cc9d2039 add media session example beginnings
Add an example media session that runs as a separate program instead
of a module
2018-08-09 11:07:41 +02:00
Wim Taymans
ca898a00db work on separating port mixers
Make it possible to assign an arbitary node as the port mixer.
Also remove dynamically added ports.
Improve negotiation and allocation on the mixer ports
Add some more SSE optimisations
Move float mixer from the audio dsp to the port
Remove pw_node_get_free_port() and do things more explicitly.
Handle mixer ports in client-node
2018-07-31 12:23:35 +02:00
Wim Taymans
bdeedad1d6 auto-link: remove obsolete module 2018-05-17 17:21:07 +02:00
Wim Taymans
e02b3181da audio-session - >media-session
Also implement video in the media session
Small cleanups
Improve exclusive mode
2018-05-14 13:07:01 +02:00
Wim Taymans
eb96ed45d7 move audio-dsp to audio-session
Make a new module audio-session that manages clients and what audio
sessions they use.
Move the audio-dsp to the audio-session
2018-05-08 10:45:50 +02:00
Wim Taymans
4f680c224b make per mix port io and buffers
Move the io areas to a separate memory block.
Make per link io areas for the ports
Send per mix port io area and buffers
2018-04-03 16:29:36 +02:00
Wim Taymans
ebac77f4e4 conf: add some commented out modules
The link-factory allows the client to create links between ports.
The audio-dsp module creates dsp ports (float32, mono) for each
audio sink and source.
2018-02-27 12:53:05 +01:00
Wim Taymans
72e98dc74a load rtkit module by default 2018-02-08 10:04:13 +01:00
Wim Taymans
1ed63e7ba0 add commented line for bluez5 monitor 2018-01-23 13:16:47 +01:00
Wim Taymans
58f086b165 Release 0.1.7 2017-11-24 17:02:04 +01:00
Wim Taymans
f3bca48398 Unify props, params and formats
Make enum_params and set_param to configure properties, format
and other parameters. This allows us to remove some duplicate
code and make the properties and parameters much more extensible.
Use the object id to mark the id of the parameter.
Remove the spa_format and spa_props.
We can now make the client-node easier by merging the various
format methods into the params.
Make the stream API more powerful now that we can pass params
around.
2017-11-07 17:48:40 +01:00
Wim Taymans
5fec60078d Release 0.1.6 2017-11-03 12:40:03 +01:00
Wim Taymans
2e379d5f8f back to development 2017-09-19 12:17:36 +02:00
Wim Taymans
0d44a34b4c Release 0.1.5 2017-09-19 11:25:38 +02:00
Wim Taymans
dc85a79786 Add more generic export-spa example
Replace the v4l2 example with a more generic version that can add
any spa node to a remote graph
Make the dictionary items const
Add some info to nodes and factories. Add the node info to the node
properties. We can then set the media.class directly on the node,
instead of letting the monitor set it.
Debug node info in spa-inspect.
Do async operation on the audiotestsrc and videotestsrc differently.
2017-09-07 19:55:22 +02:00
Wim Taymans
b7b80683bc jack: work on mixing 2017-08-25 10:01:04 +02:00
Wim Taymans
35929dd4d8 Release 0.1.3 2017-08-09 10:20:14 +02:00
Wim Taymans
f7e9e0c33a pass the global type as an id instead of string 2017-07-11 18:41:22 +02:00
Wim Taymans
d1655196c3 move things around 2017-07-11 16:08:22 +02:00
Renamed from pipewire/daemon/pipewire.conf.in (Browse further)