Commit graph

464 commits

Author SHA1 Message Date
Wim Taymans
10531d99eb fmt: fix conversion 2018-10-31 10:40:06 +00:00
Wim Taymans
63363d09dd fmt: small fix to s16 conversion 2018-10-31 09:38:31 +00:00
Wim Taymans
093c675995 a2dp: don't faile set_io 2018-10-30 16:29:39 +00:00
Wim Taymans
ef7a111611 fmt: fix and enable f32 -> s16 conversion 2018-10-30 08:37:07 +00:00
Wim Taymans
4432db4fa7 fmt-ops: fix conversion 2018-10-29 18:38:14 +00:00
Wim Taymans
ae9843aca2 disable s16 sse until fixed 2018-10-29 14:07:19 +00:00
Wim Taymans
9f61ef96ff fmt-ops: add f32 -> s16 see optimisations 2018-10-29 09:21:33 +00:00
Wim Taymans
9a969ac756 v4l2: we set clock and position on the node now 2018-10-27 10:11:27 +01:00
Wim Taymans
2206deb3e8 alsa: implement set_io and handle position io
Use position io for deciding the size of the output buffers in
alsasrc
2018-10-24 10:27:57 +02:00
Wim Taymans
66de372e9a add node set_io function
Also allow setting io areas on nodes. We need this to set the
graph clock and period size on the nodes.
2018-10-23 12:31:41 +02:00
Wim Taymans
d2570142fa resample: don't output 0 buffers 2018-10-22 11:32:53 +02:00
Wim Taymans
f2e03077a8 audioconvert: add volume and mute property
Expose volume and mute property in channelmix and use this
in audioconvert.
2018-10-18 15:04:40 +02:00
Wim Taymans
79e976e5d7 audioconvert: small cleanups 2018-10-18 12:47:46 +02:00
Wim Taymans
6590d3a258 alsa: sanitize channel map
Remove unknown channels
Remove duplicate channels
Fill unknown channels with default channels
2018-10-17 12:44:05 +02:00
Wim Taymans
d27674722a improve debug and error handling 2018-10-17 10:02:44 +02:00
Wim Taymans
6c7d2d0e1e alsa-utils: enumerate channels using channel map
When there is a channelmap, return format descriptions for each layout
otherwise return a range.
2018-10-16 18:10:43 +02:00
Wim Taymans
aa5bc5846f v4l2: fix preoperty get 2018-10-16 16:49:41 +02:00
Wim Taymans
6e6e87223f channelmix: improve mute/volume handling
Don't try to merge the mute/volume into the matrix but pass the volume
as a separate parameter.
2018-10-15 17:57:23 +02:00
Wim Taymans
456c01afbc meson: enable more options by default
Update submodules to latest version
2018-10-10 17:16:01 +02:00
Tapasweni Pathak
8d71d2dab8 pipewire: add enable/disable to meson for spa plugins 2018-10-10 16:01:28 +02:00
Wim Taymans
805240258b Improve channel positions
Sort the channel positions as the suggested format
Use the session node channel positions as the target profile
2018-10-09 20:11:01 +02:00
Wim Taymans
754782f302 add some more debug 2018-10-09 15:17:31 +02:00
Wim Taymans
822b033fb1 channelmix: fix copy multiple channels 2018-10-08 18:19:15 +02:00
Wim Taymans
f06c1723a8 fmtconvert: also return inio status 2018-10-08 17:47:52 +02:00
Wim Taymans
e1ec1bad23 spa: add profile param
Make a profile param that can be used to configure a node with a
certain profile.
Use the profile to configure the ports on splitter and merger and
get rid of the dynamic ports.
Use the profile to configure the client-node and audio-dsp.
Don't try to link more ports than available between client-node and
dsp.
2018-10-08 11:45:52 +02:00
Wim Taymans
a95cd608e7 a2dp: improve negotiation 2018-10-05 11:10:36 +02:00
Wim Taymans
4764d69e26 merger/splitter: only dynamic ports are dsp ports 2018-10-05 10:26:30 +02:00
Wim Taymans
8de1d03feb audioconvert: use splitter/merger
Remove the split/merge functionality from fmtconvert.
Make audioconvert use the splitter/merger.
Let client-stream decide what mode to configure audioconvert in.
2018-10-04 16:03:14 +02:00
Wim Taymans
4401e479c6 small cleanups 2018-10-02 17:37:38 +02:00
Wim Taymans
0f69a7b767 node: remove and add node from graph in idle/running
Add the node and all links to the graph when going to running and
remove them again when idle.
2018-10-02 05:10:55 +02:00
Wim Taymans
ec88101004 v4l2: move log to instance 2018-10-01 10:55:35 +02:00
Wim Taymans
940c8645d3 remove property flags
Remove the property flags, we will add info about properties
with the param interface.
2018-09-28 17:44:14 +02:00
Wim Taymans
7a0a150337 logger: add support for logging to file 2018-09-26 10:48:01 +02:00
Wim Taymans
39240fb9c0 use _list_consume to destroy objects 2018-09-25 13:05:13 +02:00
Wim Taymans
ec1d7b8df7 alsa: deal with less frequent hw pointer updates 2018-09-24 13:37:10 +02:00
Wim Taymans
0aca605bfb alsa: init variable correctly
We need to initialize the frames variable correctly before calling mmap.
Also initialize the now timer when starting.
2018-09-24 10:36:53 +02:00
Wim Taymans
1ebb3850e9 alsa: remove useless debug 2018-09-20 10:11:22 +02:00
Wim Taymans
4fd72eaee0 channelmix: debug matrix 2018-09-18 17:23:05 +02:00
Wim Taymans
64c38e3a6f channelmix: construct matrix and use coefficients 2018-09-18 17:06:47 +02:00
Wim Taymans
61cc453cbe channelmix: mix some LFE as well 2018-09-18 12:32:46 +02:00
Wim Taymans
75a22eedb0 fmt: fix conversion > 4 channels 2018-09-17 17:15:47 +02:00
Wim Taymans
20cbbd2cc9 explicitly allow mono and stereo with unknown layouts 2018-09-17 17:15:22 +02:00
Wim Taymans
ca2d35ca30 alsa: fix monitor strings 2018-09-17 17:15:05 +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
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
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
Wim Taymans
699bed4a1f channelmix: improve control parsing 2018-08-31 09:17:21 +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