Wim Taymans
24d80e5c00
Add new pod parser and builder
...
Add a new pod builder and parser that is less verbose and
a little more powerful.
2017-09-28 17:00:51 +02:00
Wim Taymans
3b5a308645
link: improve renegotiation
...
Only suspend an idle node when we need to configure a different format.
2017-06-20 16:22:25 +02:00
Wim Taymans
b4fdcbd322
Debug: remove logger
...
Make a default logger and mapper in a .h file to be used by examples
Remove logger and mapper from libs
Make method to set the default mapper for the debug methods
2017-06-06 13:30:34 +02:00
Wim Taymans
1feec309ec
logger: add loadable logger
2017-06-05 15:59:11 +02:00
Wim Taymans
5b037661d9
indent
2017-05-26 08:05:01 +02:00
Wim Taymans
11f23a3ffa
spa: don't use typedef for struct and enum
2017-05-25 13:28:15 +02:00
Wim Taymans
d1a6d6e03f
param: add more generic port params
...
Remove port properties and replace them with port params. Move the
params from the PortInfo to enum_params.
Use the Param ranges to specify possible sizes etc.
2017-05-22 13:06:18 +02:00
Linus Svensson
e27ec1a203
Only use string literals as format
...
Fixes -Wformat-security error.
2017-05-16 09:31:50 +02:00
Linus Svensson
a5c9ba1e5b
Install all header files
2017-05-16 09:24:21 +02:00
Linus Svensson
04ffc679fc
spa: Include version in libspa-lib.so
2017-05-16 09:12:53 +02:00
Wim Taymans
430b749d53
fix trace logging
2017-04-27 18:56:59 +02:00
Wim Taymans
214a0e27d8
Add support for trace logging in lockfree ringbuffer
...
Fix some crashes when the connection is dead.
Small cleanups in the audio mixer
Only propose alloc_buffer when we are using export_buf in v4l2
2017-04-27 17:17:47 +02:00
Wim Taymans
b51d3e4862
buffer: make data and meta types dynamic
...
Use dynamic types for the data and meta types.
Move the meta into a separate header.
Remove port state, we can keep track of that ourselves.
Add size to MetaDataEnable params
2017-04-26 18:54:18 +02:00
Wim Taymans
0b508db9fc
ringbuffer: simplify the API
...
Use absolute indexes that we let wrap around. We can then easily detect
how much we under of overflowed by using serial number arithmetic.
Remove the Areas, we can trivially compute this ourselves, move the
logic in read/write_data.
2017-04-20 11:25:24 +02:00
Wim Taymans
39c3650b5f
fix media.class
2017-04-04 15:32:11 +02:00
Wim Taymans
032cc69f2f
plugins: small cleanups
2017-04-04 09:40:12 +02:00
Wim Taymans
5c32690cc8
Add sync and async support in *testsrc
...
Make minumum alsa latency configurable.
2017-04-03 16:54:44 +02:00
Wim Taymans
01c13adab5
improve node io
...
Unify input and output io areas.
Add support for ranges in the io area.
Automatically recycle buffers in the output areas in process_output
Improve the mixer, add use_buffer support, use a queue of input buffers,
fix mixing, add support for ranges.
Fix mixer and v4l2 tests
2017-04-03 14:56:04 +02:00
Wim Taymans
29fbf2e841
props: improve prop flags
...
Only keep the READONLY prop flag.
Work on test-mixer
2017-03-31 11:48:24 +02:00
Wim Taymans
e90166678c
monitor: pass info to factory
2017-03-24 18:31:37 +01:00
Wim Taymans
29cb7bf39a
format: improve format parsing
2017-03-24 18:11:11 +01:00
Wim Taymans
25b7ede0bc
uri -> type
...
Clean up some more types.
2017-03-24 13:11:57 +01:00
Wim Taymans
5825c62d6d
types: more work on types
2017-03-24 11:40:58 +01:00
Wim Taymans
acedfe71c0
clean up types
2017-03-23 21:15:52 +01:00
Wim Taymans
3dba9f0fd4
pod: handle NULL
2017-03-23 16:08:50 +01:00
Wim Taymans
048a4b81a8
alloc-params: use dynamic types for alloc-params
2017-03-23 10:12:20 +01:00
Wim Taymans
7270986c3a
monitor: use dynamic types
...
Make the monitor item a POD object and use dynamic types.
2017-03-23 08:54:04 +01:00
Wim Taymans
c44a7c9735
command: make commands dynamic
...
Ensure format object type.
2017-03-22 10:04:24 +01:00
Wim Taymans
5bccb1aeea
format: various audio format fixes
2017-03-21 17:09:08 +01:00
Wim Taymans
03292fd80f
audio: make audio format an uri type
2017-03-21 16:50:44 +01:00
Wim Taymans
ff62c1b9ce
format: make formats as uri
2017-03-21 13:36:22 +01:00
Wim Taymans
6f0a12462b
format: add format utils
2017-03-21 11:37:18 +01:00
Wim Taymans
3f5a3e215b
format: make media types and properties dynamic
...
Use URI properties to dynamically register the media types/subtypes and
property names. Add some helpers to set up the mappings.
2017-03-21 11:28:23 +01:00
Wim Taymans
8a6ce3b179
Make AllocParams into POD objects
...
Make allocparams into pod objects. This makes it easy to serialize,
copy, create and intersect them.
Add convenience macros for properties
Add helper function to collect object properties.
2017-03-17 11:58:09 +01:00
Wim Taymans
c951264fff
spa: make events and commands as objects
...
So we can serialize and introspect them more easily
2017-03-15 16:21:05 +01:00
David Svensson Fors
6e4a7c779a
props: filter range against fixed value or enum
...
Fix start of iteration when a range is filtered against a fixed value
or an enum.
2017-03-13 11:42:34 +01:00
Wim Taymans
905743dac6
Improve padding
...
Write out 0 while padding to make sure all memory is initialized
Remove the fd from the loop before destroying the node.
2017-03-09 09:48:41 +01:00
Wim Taymans
a1dad30fd1
Use new builder for props and formats
2017-03-07 19:40:51 +01:00
Wim Taymans
f92b68c3c3
Use types with known sizes where we can, easier to serialize
...
Add iterator for POD and use it to implement some demarshalling.
2017-03-07 11:56:43 +01:00
Wim Taymans
41399b0b25
Rework serialization
...
Move serialization to the protocol, we now just send blocks of bytes
over the connection and let the protocol deserialize them.
2017-03-06 15:48:04 +01:00
Wim Taymans
9b7debbfd3
pod: fix padding
2017-03-01 20:00:11 +01:00
Wim Taymans
710a1a41e6
Improve negotiation
...
Fix selection of the default property value by restricting it to
something in the valid range of the property.
Fix audio/videotestsrc reuse
Fix format enum with filters.
Fix module property configuration
Fix connection refill
2017-03-01 14:07:02 +01:00
Wim Taymans
282995d0d0
intersection improvements
...
Add uri type
2017-02-28 16:38:23 +01:00
Wim Taymans
7a7ede96e5
Format: implement intersection and fixate
2017-02-28 15:09:34 +01:00
Wim Taymans
dbae2e3f96
rework props with pod
2017-02-27 21:25:33 +01:00
Wim Taymans
f02f93cda9
pod: make format like other PODs
2017-02-27 17:07:48 +01:00
Wim Taymans
47714886c0
prop-builder: remove propbuilder
...
Replaced by more flexible POD
2017-02-24 09:53:40 +01:00
Wim Taymans
16b62de53a
Rework formats
...
Use a POD for the format body. This allows us to more easily build
and copy the formats.
Remove obsolete code to make video and audio formats.
Use SpaVideo/AudioInfo to keep track of formats. Make functions to parse
the format into the structures.
Update plugins
2017-02-24 09:28:18 +01:00
Wim Taymans
922997175d
add new header
2017-02-21 15:02:54 +01:00
Wim Taymans
808d6b6fca
prop-builder: add helper to make properties and formats
...
Use this to make a format filter. Use the filter to negotiate
a format automatically.
2017-02-20 17:22:46 +01:00