Commit graph

1397 commits

Author SHA1 Message Date
Wim Taymans
805e3bb6c1 types: work on types
Move static pod types to type system
work on type info for types
Move the event and command ids to an enum to make it easier to extend
later.
2018-08-24 10:53:09 +02:00
Wim Taymans
fca3e1d85d Remove dynamic types
Do not use dynamic types anymore. The reason is that it's difficult:

- to maintain a shared type database over a network.
- the extra overhead when translating between processes and for
  maintaining the translation tables.
- race conditions in translating in RT-threads, this is a problem
  because we want to make event streams.

We now have simple enums with types and extension points for all
types. This is also nicer to use in general.
We don't need the mapper anymore or pass strings around as types.
There is a parallel type info system to get more info about ids and
enums and their hierarchy. It can also be used for debugging.
2018-08-23 17:47:57 +02:00
Wim Taymans
e6977fa178 fmt: unrolled loop only works for stereo 2018-08-21 10:02:16 +02:00
Wim Taymans
898bb4b059 audio-dsp: fix capture again
Use splitter element to split device format to float32
2018-08-20 17:57:38 +02:00
Wim Taymans
5de4dab21b spa: set buffer sizes better 2018-08-20 17:56:59 +02:00
Rasmus Thomsen
e56344e55e meson: rename options as per meson's style guide
see https://mesonbuild.com/Style-guide.html
2018-08-17 17:52:19 +02:00
Rasmus Thomsen
55cb38d0a8 meson: add systemd option
This is handy for source distributions, which want to avoid
automagic dependencies
2018-08-17 17:50:16 +02:00
Rasmus Thomsen
58c977f69e build: respect 'includedir' meson param 2018-08-17 17:50:08 +02:00
Wim Taymans
095e69882e remove unused functions 2018-08-17 16:29:20 +02:00
Wim Taymans
95727d3b01 protocol: don't log error on disconnect
Just log an info message on disconnect. Fixes #33
2018-08-17 13:34:15 +02:00
Wim Taymans
c06d775ddc man: add man page for config file 2018-08-17 10:19:20 +02:00
Wim Taymans
e2c2b54742 man: update man page 2018-08-16 18:28:20 +02:00
Wim Taymans
f287cea9e8 daemon: add some options 2018-08-16 18:25:30 +02:00
Wim Taymans
a7807ef1c5 pipewiresrc: hack live source for now 2018-08-15 21:35:02 +02:00
Wim Taymans
b31832dac9 v4l2: set pts correctly
The pts is supposed to be go in sync with the clock. Our clock is based
on sequence numbers so translate the PTS to this as well.
2018-08-15 21:33:58 +02:00
Wim Taymans
26fa9eae39 clock: set rate correctly
The ticks multiplied by the rate should give the time in seconds.
2018-08-15 21:31:59 +02:00
Wim Taymans
d181574520 gstpipewiresrc: cleanups
Clear the stream after we remove it from the clock.
2018-08-15 21:30:43 +02:00
Wim Taymans
a3e4c6df99 gst: improve buffer params 2018-08-15 21:29:40 +02:00
Wim Taymans
009f23abaa gst: interpollate clock times 2018-08-15 21:28:21 +02:00
Wim Taymans
0f66716de9 gst: avoid clock overflow 2018-08-15 15:51:35 +02:00
Wim Taymans
f464b8ee45 link: improve debug 2018-08-15 13:51:38 +02:00
Wim Taymans
f36fa5d2cb example: improve debug 2018-08-15 13:48:49 +02:00
Wim Taymans
921b613cca pipewiresink: improve driver mode 2018-08-15 13:46:40 +02:00
Wim Taymans
f71be550c3 map: make for_each use a return value
Make it possible to stop pw_map_for_each by adding a return value
to the callback.
2018-08-15 11:18:55 +02:00
Wim Taymans
5fe230e5ff list: add iteration with a cursor
Iterating a list with a cursor is heavier but is safe against removal
of any element in the list. Move the hook cursor iterator to list.
2018-08-15 11:17:12 +02:00
Wim Taymans
ce4232cbc7 map: use invalid value for empty list 2018-08-14 16:57:34 +02:00
Wim Taymans
d4ab36d52a client-node: only clear ports once 2018-08-14 16:53:05 +02:00
Wim Taymans
954da89756 map: mark removed object as removed
Normally the invalid bit is set on the removed object by copying it
from the free list. If there is no free list, also set the bit.
2018-08-14 16:47:50 +02:00
Wim Taymans
a37694fde5 alsa: handle invalid timestamp from broken drivers 2018-08-14 16:07:27 +02:00
Wim Taymans
43b8ea9b83 set version in core 2018-08-14 15:36:08 +02:00
Wim Taymans
c710b6f6a4 debug: add specific format debug 2018-08-14 15:30:48 +02:00
Wim Taymans
a6ad8f747f remove spalib 2018-08-14 15:29:25 +02:00
Wim Taymans
f532fd8681 don't link with spalib when we don't have to 2018-08-14 14:54:31 +02:00
Wim Taymans
3b1c40f17f pod: move compare and filter functions out of the library 2018-08-14 14:52:32 +02:00
Wim Taymans
60d4473e7b make spa-lib versioned
Fixes #60
2018-08-14 14:41:50 +02:00
Wim Taymans
ef7903d328 pipewire: debug version in init 2018-08-14 14:41:18 +02:00
Wim Taymans
a5a711bc38 add apiversion to pkgconfig as well 2018-08-14 14:41:01 +02:00
Wim Taymans
7bb0efa887 build: fix module install directory 2018-08-14 14:40:42 +02:00
Jan Grulich
77f759eb6e Bump apiversion and soversion for PW 0.2.x 2018-08-14 14:40:07 +02:00
Wim Taymans
31d9438b55 version: add version file 2018-08-14 14:39:15 +02:00
Wim Taymans
c6140bbe38 deviceprovider: fix memory leaks
Fix leaking of the node info and caps by tracking the proxy object
and freeing our stuff when it is destroyed.
2018-08-14 14:33:34 +02:00
Wim Taymans
f0a1ab993f gst: keep track of clock time
Invalidate the clock when the stream is destroyed and let the new
clock take the time of previous clock when no timing info is
available.
2018-08-14 14:32:57 +02:00
Wim Taymans
21a79241ed pipewiresrc: fix refcounting of buffers 2018-08-14 14:29:44 +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
8f8ed7270a link: reset port state on deactivate
Make sure we renegotiate the mix ports when we deactivate the link.
2018-08-09 11:03:45 +02:00
Wim Taymans
f7c84b733b gstdeviceprovider: fix caps introspection
Enum the node port params to get the caps of the devices.
2018-08-03 17:42:49 +02:00
Wim Taymans
1d34d994e2 link: limit number of buffers when allocating
When we let the nodes allocat buffer, limit the number of buffers to 16
for now. We run out of fds when sending the message. We would need to
send the fds in multiple sendmsg calls.
2018-08-03 17:39:55 +02:00
Wim Taymans
41c63149f9 audioconvert: remove unused fields 2018-08-03 17:39:28 +02:00
Wim Taymans
f087a088a5 small debug improvements 2018-08-01 21:43:31 +02:00
Wim Taymans
a63523650d hooks: enforce version on hook emission
Pass the minimum required version to the hook emission and only call
events when the handler is recent enough.
Add some macros to make event emission easier to read.
2018-08-01 21:41:25 +02:00