Commit graph

1409 commits

Author SHA1 Message Date
Wim Taymans
ff6a244d8f Make media type and subtype properties
This is easier to debug and we only want properties in objects
in the future.
2018-08-29 18:08:52 +02:00
Wim Taymans
514528f2c7 format: make helper functions to create formats
Use helper functions to create a fully specified format.
2018-08-29 15:53:26 +02:00
Wim Taymans
80de83f38a format: make helper function to parse media type 2018-08-29 14:50:58 +02:00
Wim Taymans
5976beb149 hook up some more control streams 2018-08-29 12:43:31 +02:00
Wim Taymans
cb3ccb7001 control: add missing file 2018-08-28 19:56:58 +02:00
Wim Taymans
c9526dc2bb Implement control streams
spa_io_control_range -> spa_io_range
Add helpers for sequence and control pod objects
Implement control properties in audiotestsrc, update test example.
2018-08-28 18:16:41 +02:00
Wim Taymans
90c1a95eef More type cleanups
SPA_ID_* -> SPA_TYPE_*. We use 'type' for all registered types.
ID refers to either a registered type or an enum.
Improve introspection of object ids. Make 0 an invalid enum and
use it to look up the object id type.
Move some type-info files together.
Swap type and id of the object, we first specify the type and then
the id because the meaning of the id depends on the object type.
2018-08-27 15:03:11 +02:00
Wim Taymans
281b65934e audioconvert: fix debug 2018-08-27 09:04:29 +02:00
Wim Taymans
b79c7f578e Move format types 2018-08-26 22:45:48 +02:00
Wim Taymans
265b4476a1 more type cleanup
Move some types in the type-info
Remove unused type files
2018-08-25 12:26:18 +02:00
Wim Taymans
d26aecfef2 More type fixes
Param ids and IO ids are now simple enums.
Move some type info in one place, delete some type-info files
Fix type debug
Make audio layout an enum
Mark more enums as enums in types so they show us with their names in
the debug.
2018-08-25 12:08:29 +02:00
Wim Taymans
93a8747a44 type: add command 2018-08-24 10:59:39 +02:00
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