Wim Taymans
30ecf66561
fmtconvert: check bounds on chunk offset/size
2019-01-25 13:32:35 +01:00
Wim Taymans
58f3146b60
v4l2: pass pointers to the fraction and rectangle
2019-01-25 13:32:35 +01:00
Wim Taymans
577852863c
fmt: remove debug assert
2019-01-25 09:40:14 +01:00
Wim Taymans
13bf70a8dd
mem: align memory to requested alignment
...
Improve the allocators to always align the buffer memory to the
requested alignment
Use aligned read and writes for sse functions and check alignment,
optionally falling back to unaligned path.
Add more tests and benchmark cases
Check and warn for misaligned memory in plugins.
2019-01-24 18:28:52 +01:00
Wim Taymans
dd66469570
audioconvert: add format conversion benchmark
2019-01-24 09:49:19 +01:00
Wim Taymans
6f586602af
audioconvert: add unit test for format conversion
...
Add unit test for fmt conversion and fix some bugs
Add empty fmt-ops benchmark
2019-01-23 15:59:54 +01:00
Wim Taymans
a1d45d2b25
add missing file
2019-01-22 17:47:55 +01:00
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
878ae769ef
parser: improve parser
...
Add more unit tests
2019-01-18 13:40:05 +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
5f236203d6
test: add more pod tests
2019-01-17 18:05:52 +01:00
Wim Taymans
2622e085a9
pod: add more helpers
...
Implement more unit-tests
2019-01-17 17:23:47 +01:00
Wim Taymans
767e7efc0e
parser: fix parse of 'V' as Choice
2019-01-17 17:19:13 +01:00
Wim Taymans
be1725c67b
compare: add size to compare
2019-01-17 17:16:46 +01:00
Wim Taymans
982fa0c80b
spa-inspect: fix format object detection
2019-01-17 17:13:15 +01:00
Wim Taymans
5376832676
builder: control_header -> control
2019-01-17 17:11:58 +01:00
Wim Taymans
3ee463ed3a
spa: Update tests and examples
...
Keep tests in spa/tests
Make spa/examples
Remove some old examples
2019-01-17 09:27:41 +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
92e9d99d0a
add some padding and fix types
2019-01-16 17:37:58 +01:00
Wim Taymans
cb346c0745
builder: improve builder
...
Only write a prop or control header when not already done.
2019-01-16 17:35:31 +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
e95b685072
format-utils: use Id for enums
2019-01-14 13:00:29 +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
b497ae9792
spa: install missing headers
2019-01-08 12:26:32 +01:00
Wim Taymans
f8556f1a08
make c++ optional
2019-01-08 12:18:45 +01:00
Wim Taymans
3e77e9bf99
test: add c++ test
2019-01-08 11:59:05 +01:00
Wim Taymans
d12148cfba
graph: remove scheduler2
...
Move graph code into graph.h
2019-01-08 11:56:44 +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
19e4b04939
add more tests
2019-01-07 18:01:44 +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
1ca7704d64
type-info: fully initialize structs
2019-01-07 13:56:08 +01:00
Wim Taymans
2c4bffec74
fmt-ops: small optimizations
2019-01-07 13:49:52 +01:00
Wim Taymans
3cfd1e6cf1
compare: fix sign for compare of id
2019-01-07 13:41:10 +01:00
Wim Taymans
dbbcd3fdc4
defs: add SPA_LIKELY to MIN/MAX/CLAMP macros
2019-01-07 13:39:57 +01:00
Wim Taymans
3480765561
parser: add more parser helpers
2019-01-04 10:00:12 +01:00
Wim Taymans
a41624d48b
iter: make iteration safer
...
Check if the pod size is within the parent pod size
2019-01-04 09:59:33 +01:00
Wim Taymans
f246c7b8ef
parser: add more parser helpers
2019-01-03 17:43:07 +01:00
Wim Taymans
ba7b2d8c21
meta: clarify the meaning of hotspot when no bitmap
2019-01-03 17:28:25 +01:00
Wim Taymans
8984c6f48d
meta: document fields some more
2019-01-03 17:18:12 +01:00
Wim Taymans
2a252abf50
fmt-ops: small optimization
2019-01-03 11:36:44 +01:00