Wim Taymans
763bd1100e
Add user_data to callbacks
...
Add user data to callbacks, it's more flexible and natural
2017-06-18 19:48:31 +02:00
Wim Taymans
c3b73ba47d
Add versions to structures
...
Use versions instead of size
Remove user_data from callbacks, we can simply pass the callback struct.
2017-06-14 18:32:39 +02:00
Wim Taymans
34450ed7ed
Make done event on node
...
Replace the AsyncDone event with an explicit done callback in the node
to signal completion of an async operation.
Pass read and write fd together with the transport
2017-06-09 17:24:18 +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
783bbe6c64
Small cleanups
2017-05-30 20:01:37 +02:00
Wim Taymans
cf94117244
improve props test
2017-05-26 20:52:04 +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
83964cec87
pinos -> pipewire
2017-05-23 19:15:33 +02:00
Wim Taymans
12effccb06
Add fakesrc ! fakesink test
...
Add fakesrc and fakesink and some performance test
Small cleanups
2017-05-19 12:48:51 +02:00
Wim Taymans
6691eb7845
graph: add graph datastructure and scheduler
...
Improve event and command init so that it can be used more easily
as compound literals.
Improve volume
Make it possible to use graph scheduler in test-mixer
2017-05-18 17:16:48 +02:00
Wim Taymans
53dd63eb3a
type: improve type check
2017-05-17 12:47:33 +02:00
Wim Taymans
6cbf398ad4
node: the callbacks determine async operation
2017-05-11 16:11:08 +02:00
Wim Taymans
01246f399e
test: pass device in args
2017-05-11 11:41:39 +02:00
Wim Taymans
3b33e3d362
node: improve callbacks
...
Make separate callbacks for events and RT notifications.
2017-05-11 10:29:20 +02:00
Wim Taymans
3d54d31fac
tests: fix for port status changes
...
We now need to tell the node we consumed a buffer by setting the status
back to NEED_BUFFER.
2017-04-28 17:37:16 +02:00
Wim Taymans
fe68ca1be3
audiomixer: small improvements
...
Improve the audiomixer state handling
Improve PortIO status handling.
2017-04-28 17:22:23 +02:00
Wim Taymans
cc8a5da9c7
Rename buffer status to make it more symetrical
...
Only try to pull once in a timeout.
We can reuse the last returned state as our internal state in
audiomixer.
2017-04-28 11:49:13 +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
63d060a63e
ringbuffer: add stress test
2017-04-25 19:22:06 +02:00
Wim Taymans
7d1d3bd666
stream: use 2 eventfds for client <-> server signaling
2017-04-21 10:24:42 +02:00
Wim Taymans
f0aafb5b51
alsa: work on ringbuffer data transport
...
Add ringbuffer test
2017-04-20 19:25:14 +02:00
Wim Taymans
d9bb116d27
node: schedule upstream first
...
In pull mode, schedule all upstream nodes first, if any of them
produce output, push it into the current node.
Underrun streams without input on audiomixer, avoids glitch when
starting a new stream.
2017-04-12 11:24:11 +02:00
Wim Taymans
4c7b56020a
audiomixer: improve mixing
...
Remove PortIO flags, we can use the status
Move PortIO to ports
Move transport to client-node
Improve scheduling
2017-04-12 10:40:17 +02:00
Wim Taymans
9bd92b781c
small fixes
2017-04-08 20:59:38 +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
32368d741d
audiotestsrc: implement sine wave
...
Fix audiomixer some more
2017-04-03 19:23:53 +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
29cb7bf39a
format: improve format parsing
2017-03-24 18:11:11 +01:00
Wim Taymans
141202b1fd
type: add subclass check
2017-03-24 13:25:43 +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
c44a7c9735
command: make commands dynamic
...
Ensure format object type.
2017-03-22 10:04:24 +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
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
b1f7df52e3
format: use padding attribute
2017-03-15 17:09:28 +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
78a3cd61b8
pod-builder: make more generic builder
...
Make a vararg based builder that produces much smaller code.
Catch demarshal errors.
Simplify array handling
2017-03-07 17:23:35 +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
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