Wim Taymans
351fb9ce29
pod: improve parser and builder
...
Remove the spa_pod_iter helpers
Remove builder/parser vararg recurse option, you have to
manually recurse into structures when needed. This simplifies
things a lot.
Pass spa_pod_frames to builder and parser explicitly, we don't
have to keep an internal stack anymore.
The parser is now almost a mirror image of the builder.
Make the parser safer when iterating over objects, add functions
to check and get pod contents in a safe way.
Make the builder return errno style results on errors
Improve performance of object properties when they are stored and
retrieved in the same order.
Add many more tests for the builder and parser
Add some benchmarks
2019-01-22 17:38:23 +01:00
Wim Taymans
b2bf69cc42
param: add some docs
...
Rename profile id to index because it better describes the property
2019-01-18 13:37:41 +01:00
Wim Taymans
5376832676
builder: control_header -> control
2019-01-17 17:11:58 +01:00
Wim Taymans
fa2d877925
audiotestsrc: use macros for parser
2019-01-16 17:42:44 +01:00
Wim Taymans
e4bde73552
alsa: use min_latency when no position is given
2019-01-16 17:38:28 +01:00
Wim Taymans
dad153ce28
alsa: mark properties are optional
2019-01-16 12:55:50 +01:00
Wim Taymans
80cfda89c1
pod: improve the vararg pod builder and parser
...
Automatically parse and build key/value when in objects without having
to prefix the key with ":"
Automatically build control/value when in sequence without the "."
prefix.
Remove the builder with key/pod, taking a reference to the stack built
temporary pods is not allowed in c++. We can use the varargs version
with the same convenient syntax.
Remove the parser "*" option, it is unused.
Improve spa_pod_builder_add_* and spa_pod_parser_get_* and make them
look similar.
2019-01-16 11:05:12 +01:00
Wim Taymans
3dc6820e9e
Don't use __ in defines or declarations, it's reserved
...
SPA_TYPE -> SPA_TYPE_INFO for type info strings
improve includes
Fixes #115
2019-01-14 13:00:00 +01:00
Wim Taymans
62672f4d23
v4l2: set buffer id correctly
2019-01-10 10:20:08 +01:00
Wim Taymans
1ed27a8f2b
add _GNU_SOURCE as compiler flag
2019-01-08 17:36:58 +01:00
Wim Taymans
b0f4be5fbc
fix more compile errors
...
Avoid void * arithmetic
Do explicit casts to target type to make c++ happy
2019-01-08 11:53:36 +01:00
Wim Taymans
3fa2ad33e4
fix warnings
2019-01-08 09:30:40 +01:00
Wim Taymans
7f0d5a1c10
fix compilation
2019-01-07 18:21:01 +01:00
Wim Taymans
b95584c312
plugins: fix warnings
2019-01-07 18:14:04 +01:00
Wim Taymans
5b7ddb0105
buffer: remove buffer id
...
The buffer id is not needed/used, we use the index of the buffer in the
buffer array when configuring the port.
2019-01-07 17:57:03 +01:00
Wim Taymans
e918f9f77c
fix sign confusion
2019-01-07 15:52:42 +01:00
Wim Taymans
7cd55c2c6b
fix switch fallthrough cases
2019-01-07 15:11:34 +01:00
Wim Taymans
9573b24e52
cpu: add force cpu flags
...
Use PIPEWIRE_CPU to force cpu flags.
2019-01-07 15:02:18 +01:00
Wim Taymans
2c4bffec74
fmt-ops: small optimizations
2019-01-07 13:49:52 +01:00
Wim Taymans
2a252abf50
fmt-ops: small optimization
2019-01-03 11:36:44 +01:00
Wim Taymans
0e91276a03
fmt-ops: SSE functions were really SSE2
...
The SSE functions used integer operations and were really SSE2 so
rename.
Optimize some more.
2018-12-20 16:11:25 +01:00
Wim Taymans
d2bcbdf9cf
resample: fix unrolled counter
2018-12-20 12:01:45 +01:00
Wim Taymans
0984096089
free() can handle NULL just fine so skip the check
...
Fixes #117
2018-12-19 17:47:25 +01:00
Wim Taymans
b6db6e2130
channelmix: add quad and 3.1 to mono optimisation
2018-12-19 16:49:29 +01:00
Wim Taymans
00d1488c07
channelmix: handle mono like Front Center
2018-12-19 16:49:00 +01:00
Wim Taymans
0a4ef3d2c0
resample: add SSE peaks resampler
2018-12-19 16:47:20 +01:00
Tanu Kaskinen
e7a8c29063
bluez5: remove an unused variable
...
This gets rid of a compiler warning.
2018-12-18 13:54:17 +00:00
Wim Taymans
7104df1b21
cpu: detect MMXEXT as well
2018-12-17 13:37:27 +01:00
Wim Taymans
4dfe1011a6
audioconvert: use cpu detection interface
2018-12-17 13:26:54 +01:00
Wim Taymans
9ca9fda253
cpu: add cpu support implementation
2018-12-17 13:25:27 +01:00
Wim Taymans
5025aa97e6
audioconvert: fix x86 feature defines
2018-12-17 10:20:18 +01:00
Wim Taymans
52368091e3
v4l2: actually pass the device path to the node
2018-12-17 10:16:06 +01:00
Wim Taymans
a331779a28
resample-peaks: fix peaks resampler
...
Keep separate variable to check if we searched a complete chunk.
2018-12-13 16:23:02 +01:00
Wim Taymans
08a63ded5d
audioconvert: pass samples to convert functions
...
Pass the number of samples to convert functions instead of number of
bytes because it is much more useful.
2018-12-13 12:02:47 +01:00
Wim Taymans
2fd8f0906f
alsa: set stride to frame size
2018-12-12 15:13:36 +01:00
Wim Taymans
4606d46621
channelmix: add more MONO mappings
...
Also just warn when we can't assign a channel
2018-12-11 16:53:53 +01:00
Wim Taymans
02585c6ca9
merger: add monitor ports
...
Add an option to enable monitor ports. Use this in the audio dsp
to expose monitor ports on the audio dsp nodes.
2018-12-11 16:35:40 +01:00
Wim Taymans
c42b108ac8
resample: small optimization
2018-12-10 12:58:10 +01:00
Wim Taymans
74c71e9bad
resample: only free resampler when implemented
2018-12-05 16:05:40 +01:00
Wim Taymans
11a3370f12
merger: add some more debug
2018-12-05 15:59:22 +01:00
Wim Taymans
5fa7e0f3eb
resample: add peaks resampler
2018-12-05 15:58:55 +01:00
Wim Taymans
e7462c470e
channelmix: handle more conversion to mono
2018-12-05 15:54:07 +01:00
Wim Taymans
bf1c927087
alsa: reset queued and free buffers on start
...
When we are out of buffers, drop the available samples.
2018-12-05 11:23:30 +01:00
Wim Taymans
4e7af5644b
alsa: set period size to something larger
...
Setting a small period size will also result in a small buffer, on some
cards smaller than what we can deal with right now.
2018-12-03 15:56:53 +01:00
Wim Taymans
d6836d89ee
alsa: stop try writing samples when no progress
2018-11-30 17:52:48 +01:00
Wim Taymans
c5f5f1d94b
alsa-device: remember current profile
2018-11-30 17:52:23 +01:00
Wim Taymans
bf344a86e5
alsa: add on and off profiles
2018-11-29 15:24:13 +01:00
Wim Taymans
354bb042e2
alsa: retry _avail after xrun
...
..or else we pretend all is fine and end up with no available samples
to read in an infinite loop.
2018-11-29 15:19:33 +01:00
Wim Taymans
7c54b4b89c
audio-dsp: improve properties
2018-11-28 13:24:33 +01:00
Wim Taymans
0c9dc75cb3
alsa: cleanup
2018-11-28 12:27:17 +01:00