Commit graph

1888 commits

Author SHA1 Message Date
Wim Taymans a563050797 spa: don't use constructor attribute to register factories 2019-02-06 12:14:25 +01:00
Wim Taymans 30da60ab6b utils: add SPA_EXPORT 2019-02-06 12:07:15 +01:00
Wim Taymans baa6b1472d client-node: handle _set_io on the node 2019-01-31 17:50:55 +01:00
Wim Taymans bad9b15a92 node: warn when _set_io fails on the node 2019-01-31 17:50:16 +01:00
Wim Taymans 550a2af044 examples: improve examples 2019-01-31 11:58:35 +01:00
Wim Taymans 31dacd9d6f remote: move node export code to client-node module
Make the code to export objects more generic. Make it possible for
modules to register a type to export.
Make the client-node also able to export plain spa_nodes.
Let the remote signal the global of the exported object if any. We can
then remote the (unused) remote_id from the proxy.
2019-01-31 11:02:13 +01:00
Wim Taymans 7ec9de5ac6 video-src: always set chunk info 2019-01-31 10:59:43 +01:00
Wim Taymans bebc8edbc3 buffer: add missing type info 2019-01-31 10:57:24 +01:00
Wim Taymans 61194d02b3 stream: small cleanups in notify/control handling 2019-01-30 11:01:17 +01:00
Wim Taymans 2f102a69d6 export-source: fix example 2019-01-30 10:50:42 +01:00
Wim Taymans 39f1309130 conf: remove old module 2019-01-30 10:50:23 +01:00
Wim Taymans 4509bd8cfd media-session: report error when binding 2019-01-30 10:36:00 +01:00
Wim Taymans e4f58da013 properties: handle prealloc of 0
The argument to array_init is not the prealloc but the extend, so
passing 0 will not work
2019-01-29 16:52:21 +01:00
Wim Taymans 086166058a media-session: handle unknown media 2019-01-29 16:51:55 +01:00
Wim Taymans 1baef2625c alsa: fix chmaps leak 2019-01-29 12:10:15 +01:00
Wim Taymans bf33ce3fc0 link: don't call use_buffers after alloc_buffers 2019-01-29 12:04:31 +01:00
Wim Taymans e04560955d audioconvert: clean up nodes 2019-01-29 11:46:26 +01:00
Wim Taymans e63adfef25 link-factory: fix cleanup
If the link is destroyed, remove the listeners. Only remove the
resource listener when we actually have one.
If the resource is destroyed first, destroy the global.
If the global is destroyed first, make sure we don't destroy it
again when the resource is destroyed.
2019-01-29 10:45:28 +01:00
Wim Taymans beae1890d3 global: first emit then destroy, then unregister 2019-01-29 10:31:48 +01:00
Wim Taymans 718847fcd5 audio-dsp: clean ports when the node is destroyed 2019-01-29 10:30:01 +01:00
Wim Taymans 11769aa7e7 media-session: track our DSP link
Set our DSP link proxy to NULL when it gets destroyed so that we
don't accidentally try to do things with it anymore.
2019-01-29 10:29:06 +01:00
Wim Taymans ac6a568729 global: remove the global from the map when we unlink 2019-01-29 09:51:20 +01:00
Wim Taymans 1c7fa34f57 port: make it possible to clear the mix node again 2019-01-29 09:50:50 +01:00
Wim Taymans efc571972d defs: don't use __ 2019-01-25 16:52:32 +01:00
Wim Taymans 68bcc6b8e8 pod: move vararg macros to separate file 2019-01-25 16:17:29 +01:00
Wim Taymans 7a8412e81a alloc: document alloc functions 2019-01-25 15:55:39 +01:00
Wim Taymans 93e8074b2c alloc: improve alignment in alloactor
link: use buffer allocator
Add more tests
2019-01-25 13:32:35 +01:00
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