Commit graph

1419 commits

Author SHA1 Message Date
Jan Alexander Steffens (heftig)
03fdabd155 meson: Use pkgconfig.generate
Also fixes the moduledir having a duplicated prefix.
2018-09-03 21:26:42 +02:00
Jesse Pullinen
1754438dc9 Fix memory leak in pw_properties_set
removing a property leaked the key
2018-09-03 21:24:18 +02:00
Wim Taymans
db277bebb6 add missing file 2018-09-01 14:10:04 +02:00
Wim Taymans
699bed4a1f channelmix: improve control parsing 2018-08-31 09:17:21 +02:00
Wim Taymans
1352c7555e man: install manpages in the right directory 2018-08-30 14:52:45 +02:00
Wim Taymans
61e4ad3b41 control: always link notify and control controls 2018-08-30 12:35:14 +02:00
Wim Taymans
0bce72d898 stream: reimplement volume changes with notify stream
Implement volume changes with a notify stream.
Do volume changes in the channel mixer with control streams.
2018-08-30 12:02:39 +02:00
Wim Taymans
7cdb980b1a debug: allow custom type root 2018-08-30 12:01:52 +02:00
Wim Taymans
05d3502c84 control: rework for spa_io_sequence
Put a pw_control object on all ports that support control messages.
Allow linking of control objects (and thus ports).
Make export-sink generate control messages to update the contrast
property.
2018-08-30 09:54:54 +02:00
Wim Taymans
2631db14a8 pod: use {} as object delimited, like json
Use <> for sequence
2018-08-30 09:53:29 +02:00
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