Commit graph

3032 commits

Author SHA1 Message Date
Philipp Zabel
8c53e5305d meson: remove spa option
PipeWire does not work without at least the basic SPA plugins.
Remove the option to disable SPA.

Fixes #198

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
2019-11-12 08:14:13 +00:00
Wim Taymans
c63f0ed562 doc: add session-manager <-> pulseaudio mapping 2019-11-08 15:53:14 +01:00
Arun Raghavan
cbf495fa35 Add a code of coduct
This is the Contributor Covenant v1.4.1.
2019-11-08 13:57:36 +05:30
Arun Raghavan
4f70a19a82 gitignore: Add generated Makefile 2019-11-08 13:00:00 +05:30
Wim Taymans
f918fa874f Update README.md 2019-11-07 15:46:04 +00:00
Wim Taymans
9f765897db add missing files 2019-11-07 16:39:13 +01:00
Wim Taymans
4ad7ce3aa2 session-manager: split policy and monitor
Separate the session manager in a monitor and policy part.

The monitor manages the devices and endpoints.

The policy watches the nodes/ports/clients and applies the policy
of linking them.

Because both now have a separate connection, we can remove some
hacks in the protocol. When a remote was both the implementer and
user of an object we could get in a deadlock when the user was
blocked waiting and the implementator was blocked sending a reply.
We used to un-busy a client when it was expecting a reply from a
ping or sync for this reason.

Add and use some more keys for the endpoints and streams.
2019-11-07 16:03:00 +01:00
Wim Taymans
8bbfe876a7 Revert "WIP use endpoint in pulse"
This reverts commit 7a4a8d78b9.
2019-11-07 11:45:16 +01:00
Wim Taymans
74b4790afe core: handle error when creating memorypool
Start data loop later.
2019-11-07 11:43:09 +01:00
Wim Taymans
638ee33f44 remote: only load protocol when not already loaded 2019-11-07 11:41:14 +01:00
Wim Taymans
7a4a8d78b9 WIP use endpoint in pulse 2019-11-06 11:34:14 +01:00
Wim Taymans
9df6efcd8d properties: copy_keys -> update_keys
Change copy_keys to update_keys and make it more powerful by taking
a spa_dict as the source.
Copy some more properties in the session.
2019-11-05 16:35:15 +01:00
Wim Taymans
60cd74fdb0 alsa: set MEDIA_CLASS in nodes 2019-11-05 16:34:12 +01:00
Wim Taymans
1f5aa26452 type: move implementations to a separate section 2019-11-05 16:31:40 +01:00
Wim Taymans
cd1ec41253 jack: use metadata when available 2019-11-05 10:03:35 +01:00
Arun Raghavan
4cf66c00c0 readme: Format in Markdown and add some more information 2019-11-04 16:33:51 +00:00
Wim Taymans
8409e8be49 endpoint: make endpoints of alsa devices
Make one endpoint for each device
Make a stream for each node
2019-11-04 17:30:33 +01:00
Wim Taymans
6397db9d68 protocol: init spa_dict properly
Or else the flags might be wrong.
2019-11-04 17:30:33 +01:00
Wim Taymans
085f1822b9 session-manager: fix protocol
Add separate types for interfaces and implementation
Fix some bugs in the protocol
Add some introspection support in cli
2019-11-04 17:30:33 +01:00
Wim Taymans
29254b688a pulse: fix list_prev 2019-11-04 17:30:33 +01:00
George Kiagiadakis
15f3d28e11 daemon config & remote: load module-session-manager by default
Upstream-Status: Pending
2019-11-04 17:30:33 +01:00
George Kiagiadakis
d6dc0d0356 pipewire-cli: add support for printing endpoint info & params
Upstream-Status: Pending
2019-11-04 17:30:33 +01:00
George Kiagiadakis
1e14206c71 extensions: implement new session manager extension
This extension, implemented in module-session-manager, implements
a set of objects that are useful for session managers.
2019-11-04 17:30:33 +01:00
Arun Raghavan
44bf0baaa7 ci: Migrate from Travis to GitLab CI
This makes more sense now since we're using FDO GitLab for all the other
development infra.
2019-11-03 15:40:50 +00:00
George Kiagiadakis
54733718bd ci: Add a Dockerfile
This is a simple image based on current Fedora with the required build
dependencies.
2019-11-03 15:40:50 +00:00
Wim Taymans
d79abd1502 install metadata header 2019-11-03 16:39:56 +01:00
Wim Taymans
6b565d2eab format: add video modifier 2019-11-03 16:39:56 +01:00
Arun Raghavan
37a72b2531 Merge pipewire-pulseaudio subtree 2019-11-03 15:20:57 +01:00
Arun Raghavan
863a642e08 Merge pipewire-jack subtree 2019-11-03 15:20:56 +01:00
Arun Raghavan
57d2fbdbf2 Merge pipewire-alsa subtree 2019-11-03 15:20:56 +01:00
Arun Raghavan
59bdab94bc Drop git submodule structure
The workflow is getting a little messy with these, so we're just going
to merge those repositories in.
2019-11-03 15:19:43 +01:00
Wim Taymans
57299ec491 Add missing files 2019-11-03 11:25:23 +01:00
Wim Taymans
612bfe9a64 jack: update 2019-11-03 10:41:26 +01:00
Wim Taymans
c67445c343 test: audioadapter 2019-11-03 10:39:48 +01:00
Wim Taymans
0a81a982f7 metadata: Add metadata API
Metadata allows apps to attach properties to objects that can be
read by other apps.
Not complete yet, properties should be removed when the object is
removed.
2019-11-03 10:31:14 +01:00
Wim Taymans
8ddf579cc0 protocol: add flags to protocol marshal
Allows us to to select marshallers for implementation and binding.
2019-11-03 10:21:57 +01:00
Wim Taymans
d1e331e268 pod: add POD_None 2019-11-03 10:13:30 +01:00
Wim Taymans
c842b5adf2 reserve: fix RequestRelease
Only fail when message is NULL
Actually send the message as well
2019-11-03 10:12:45 +01:00
Wim Taymans
0c106e6777 context: sort objects by priority 2019-10-31 17:55:25 +01:00
Wim Taymans
a18c8df7d0 meta: make sequence number 64 bits
Add offset in current cycle
2019-10-29 22:44:45 +01:00
Julian Bouzas
9b2d34c04b audioadapter: store format on set_param and use it as a filter when negotiating 2019-10-29 22:44:24 +01:00
Wim Taymans
d94019ccd2 io: Add current video frame size to position
Add some padding, tweak some padding
Remove count in the clock, it's useless
For video frames we will want to use metadata to place
this on individual buffers.
2019-10-29 14:08:40 +01:00
Wim Taymans
140203d5a3 core: add and use some keys for cpu settings 2019-10-29 12:48:07 +01:00
Wim Taymans
b179b11e66 jack: update 2019-10-29 12:03:57 +01:00
Wim Taymans
b4b69473d3 filter: add filter API
The filter API is meant for making generic audio and video filters.
It's like a pw_stream but with many in/out ports and no conversion.
Eventually the pw_stream will be implemented with the filter.

Add some example audio and video filters.
2019-10-29 11:59:58 +01:00
Wim Taymans
9ed29aafd4 jack: warn -> debug for thread functions 2019-10-29 10:10:07 +01:00
Wim Taymans
f7d32e78f2 pod: remove SPA_POD_IS_OBJECT_TYPE
We have a safer version of that in iter.h
Use macros to get id and type of an object
Use safer checks in plugins.
2019-10-29 10:08:46 +01:00
Wim Taymans
241a6165d2 jack: also add rate to format 2019-10-28 22:02:10 +01:00
Wim Taymans
577f06cfeb Fix and use constants 2019-10-28 19:02:04 +01:00
Wim Taymans
2728babc85 jack: sync 2019-10-28 18:05:37 +01:00