Commit graph

14335 commits

Author SHA1 Message Date
Wim Taymans
d41cde1bb8 stream: add channel mappings 2018-09-17 09:51:39 +02:00
Wim Taymans
049e10b2c0 jack: update for format changes 2018-09-17 09:50:19 +02:00
Wim Taymans
9955e32030 alsa: fix for format changes
Add exclusive option
Add channel mapping
2018-09-17 09:49:37 +02:00
Wim Taymans
78b7da608f channelmix: more improvements
work with the default channel layout
remap to default channel layout in fmconvert
Pass channel positions in resample format
2018-09-17 09:41:41 +02:00
Wim Taymans
fef616615e filter: add leftover properties
Add the extra properties from the filter to the result.
2018-09-17 09:38:10 +02:00
Wim Taymans
3265407d55 audio: place side channels before rear in default layouts
This is probably more logical
2018-09-17 09:36:48 +02:00
Wim Taymans
fcd90b25d3 More work on multichannel
Reorder channels to a more common default order.
Only add channel layout when channels > 1
Don't try to link to a session that is still starting
Small sse fixes.
2018-09-14 15:23:12 +02:00
Wim Taymans
5196f7f053 audio: remove layout from audio
Make special format types for planar and interleaved instead of
having a field.
Add enum for audio channel positions
Add some default audio channel layouts
Place the channel layout in the audio format when possible
alsa: place audio channel positions in format
Add sse optimized channel mixing for some common cases
Remove name from port info, it's not mandatory and in the properties
Add direction to port info
2018-09-13 17:03:56 +02:00
Wim Taymans
fb3379e587 Pass channelmask around and use it to name ports
Use the channel name in the port names of the dsp
2018-09-11 18:09:45 +02:00
Wim Taymans
7aae01fe15 media-session: handle object remove
Improve debug
Deal with removed objects, handle node cleanup
Classify nodes with a type ans get rid of stream struct.
2018-09-11 15:25:35 +02:00
Wim Taymans
45807e804a media-session: also link sinks correctly 2018-09-11 12:02:35 +02:00
Wim Taymans
593daa36d4 connection: split messages to work around fd limit
Split messages in multiple parts when there are too many fds to
send in one message.
2018-09-11 12:01:19 +02:00
Wim Taymans
968192f9a9 media-session: implement more
Track the state of nodes and ports.
Make streams for nodes tagged as stream
Make sessions for nodes that are sinks and sources and make a DSP
node for those
Rescan when a change happens and reconfigure
Link streams to sessions
2018-09-11 10:26:19 +02:00
Wim Taymans
f3dec52fd2 audio-dsp: improve cleanup 2018-09-11 10:25:40 +02:00
Wim Taymans
8fee15457e node: init quantum to something default 2018-09-11 10:25:21 +02:00
Wim Taymans
dca37fe037 small cleanups 2018-09-11 10:24:48 +02:00
Wim Taymans
28be82029b connection: don't reset fds on refill
Only reset fds when we finished reading the message
2018-09-10 18:50:05 +02:00
Wim Taymans
3c76b150c7 link-factory: also create links when possible 2018-09-10 18:49:41 +02:00
Wim Taymans
d1a399aadd audio-dsp: fix user data 2018-09-10 18:49:04 +02:00
Wim Taymans
d80274e663 pod: small improvements for pod iterator 2018-09-10 18:46:33 +02:00
Tomas Popela
cea31ff8fb Fix build with clang
By using __typeof__ instead of typeof:

/usr/include/pipewire/array.h:85:11: error: use of undeclared identifier 'typeof'; did you mean 'typeid'?
                alloc = SPA_MAX(alloc, arr->extend);
2018-09-10 10:08:28 +02:00
Tomas Popela
f58f63ae64 Fix build with clang
By using __typeof__ instead of typeof:

/usr/include/pipewire/array.h:85:11: error: use of undeclared identifier 'typeof'; did you mean 'typeid'?
                alloc = SPA_MAX(alloc, arr->extend);
2018-09-10 10:07:40 +02:00
Wim Taymans
c904bed186 More test 2018-09-05 17:23:14 +02:00
Wim Taymans
4acfb88cb7 alsa: update for api changes 2018-09-05 16:48:43 +02:00
Wim Taymans
814a9592f3 stream: update for API changes 2018-09-05 16:48:13 +02:00
Wim Taymans
0673a1a4f8 jack: API changes 2018-09-05 16:47:46 +02:00
Wim Taymans
cc842cbdc8 Type changes
Only allow properties inside objects, this makes it easier to
iterate the object, which is needed for efficiently processing
control streams.
Add a choice type to mark variable properties.
SPA_TYPE_Enum -> SPA_TYPE_Id to avoid confusion with choice enum
Make it easier to allocate and initialize properties on the stack
Make more efficient methods to make objects.
2018-09-05 16:41:07 +02:00
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
Jan Alexander Steffens (heftig)
bbba49aae1 meson: Use pkgconfig.generate
Also fixes the moduledir having a duplicated prefix.
2018-09-03 21:21:47 +02:00
Jesse Pullinen
692d96b9a4 Fix memory leak in pw_properties_set
removing a property leaked the key
2018-09-03 21:19:54 +02:00
Wim Taymans
fd97452654 update for format change 2018-09-01 14:12:24 +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
021d6cf25a man: install manpages in the right directory 2018-08-30 14:49:08 +02:00
Wim Taymans
8d53d3018f Release 0.2.3 2018-08-30 12:45:18 +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
3f73c9355c alsa: update for type changes 2018-08-29 09:55:20 +02:00
Wim Taymans
5fb984a647 update for type changes 2018-08-29 09:54:54 +02:00
Wim Taymans
19336672a9 jack: update for type changes 2018-08-29 09:54:21 +02:00
Wim Taymans
cb3ccb7001 control: add missing file 2018-08-28 19:56:58 +02:00