Wim Taymans
f063cc9086
audioconvert: improve negotiation
...
Configure format and buffers when the ports are configured instead of
in the start command.
2018-11-19 10:03:55 +01:00
Wim Taymans
5444b850d2
fmtconvert: improve enum_format
2018-11-16 16:56:33 +01:00
Wim Taymans
3e1e6b02b5
resample: add property to change resample rate
2018-11-16 16:54:56 +01:00
Wim Taymans
9d44d0b135
parser: add some utils to parse values
2018-11-16 16:52:04 +01:00
Wim Taymans
3267667d94
fmt: improve s24 to float conversion
2018-11-08 09:56:58 +01:00
Wim Taymans
4d7311aca1
channelmix: handle stereo to mono
2018-11-07 11:57:19 +01:00
Wim Taymans
2b88dde567
fmtconvert: add conversions for planar to planar
2018-11-07 11:56:19 +01:00
Wim Taymans
00a570f7de
audio-format: set unpossisioned flag
...
If we don't have position information in the format, set the
unpositioned flag. Don't set position info in the format when the
unpositioned flag is set.
2018-11-07 11:54:23 +01:00
Wim Taymans
85f2e93c54
Relicense as MIT/X11
...
Remove some obsolete files
2018-11-05 17:48:52 +01:00
Wim Taymans
9088b2f0d9
splitter: fix compilation
2018-11-02 17:51:30 +01:00
Wim Taymans
7b6df9e127
audioconvert: don't clear profile when format is cleared
2018-11-02 17:19:15 +01:00
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
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
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
d27674722a
improve debug and error handling
2018-10-17 10:02:44 +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
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
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
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
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
Wim Taymans
7cdb980b1a
debug: allow custom type root
2018-08-30 12:01:52 +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
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