Wim Taymans
da94f65493
fix some compiler warnings
2017-07-04 12:21:01 +02:00
Wim Taymans
8886f5d373
build fixes
2017-07-04 11:30:49 +02:00
Wim Taymans
791137e9e5
loop: fix ringbuffer handling
2017-07-04 10:18:24 +02:00
Wim Taymans
9fa1df6f2c
link: work on activate/deactivate
...
Recursively activate links when activating nodes
2017-07-03 17:34:30 +02:00
Wim Taymans
9ee0cd7d8d
fix last_port
2017-06-28 16:53:10 +02:00
Wim Taymans
d8cac792f4
spa: small performance fixes
2017-06-28 16:33:11 +02:00
Wim Taymans
7fbe811a03
audiomixer: separate mixer functions
2017-06-27 17:48:34 +02:00
Wim Taymans
bc56c59597
loop: add block flag to invoke
...
Remove async shutdown and block instead.
2017-06-26 10:41:19 +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
4a6b1b42bc
Don't hardcode plugin path
...
Use SPA_PLUGIN_DIR to get the plugin path.
Install plugins in subdirectory to make it match the build tree.
2017-06-19 12:19:22 +02:00
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
4a219e81dd
loop: move to plugin
...
Move the loop implementation to a plugin.
Organize the hooks in a list so that we can add many.
2017-06-14 16:27:04 +02:00
Wim Taymans
f55f1739e1
Rework support
...
Load the mapper from the support plugin
Move the support setup in pw_init
2017-06-14 11:48:41 +02:00
Wim Taymans
9257e3b8f3
make support plugin
2017-06-14 10:15:17 +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
0af8377d10
log: dynamically load the logger API
2017-06-06 16:53:16 +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
4433203d5f
Small fixes
...
Init ptr in mem
Use a default memory size when no params
Improve debug
Always push after we have a buffer from pull
2017-06-06 09:10:42 +02:00
Wim Taymans
1feec309ec
logger: add loadable logger
2017-06-05 15:59:11 +02:00
Wim Taymans
ded1ea69a1
indent
2017-05-26 18:19:51 +02:00
Wim Taymans
08522a162e
indent
2017-05-26 17:25:58 +02:00
Wim Taymans
0f6b3a7cab
indent
2017-05-26 09:09:31 +02:00
Wim Taymans
5b037661d9
indent
2017-05-26 08:05:01 +02:00
Wim Taymans
d1a06ae247
indent -kr -i8 -l100
2017-05-25 16:23:13 +02:00
Wim Taymans
11f23a3ffa
spa: don't use typedef for struct and enum
2017-05-25 13:28:15 +02:00
Wim Taymans
f12a5ffc80
Remove redundant fields from PortInfo
2017-05-22 18:02:31 +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
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
Linus Svensson
cba22d0e39
spa/plugins/videotestsrc: Draw correctly for all resolutions
...
Use an incremented variable to support all resolutions. If the width of
the pludge part of the test image was not dividable by three, a
rounding error made the resulting pattern containing noise.
2017-05-16 09:14:36 +02:00
Wim Taymans
05adcb31e5
v4l2: no range for fixed framerates
...
Print fixed values correctly
2017-05-12 13:00:33 +02:00
Wim Taymans
6cbf398ad4
node: the callbacks determine async operation
2017-05-11 16:11:08 +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
fe68ca1be3
audiomixer: small improvements
...
Improve the audiomixer state handling
Improve PortIO status handling.
2017-04-28 17:22:23 +02:00
Wim Taymans
308acaf0ad
alsa: fix offset
2017-04-28 12:12:14 +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
8804980c8f
work on state changes
...
Make things work better after errors
2017-04-25 13:00:09 +02:00
Wim Taymans
baada0a330
ringbuffer: use gcc atomic operations
...
Remove barrier, use GCC atomic operations for ringbuffer
2017-04-24 13:18:57 +02:00
Wim Taymans
f0aafb5b51
alsa: work on ringbuffer data transport
...
Add ringbuffer test
2017-04-20 19:25:14 +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
90ea120d3c
audiomixer: don't mix when no input
...
Give the app a chance to provide some input when there is nothing to mix
anymore in process_output.
alsa: fix buffer size
2017-04-19 13:06:03 +02:00
Wim Taymans
e864836300
fix formats
2017-04-19 12:33:42 +02:00
Wim Taymans
db16de85bb
examples: add video upload example
...
Add an example of a node that makes a video available.
Improve buffer reuse in stream.
Add more video formats
2017-04-18 18:05:45 +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
d3682067fa
node: remove node state
...
Remove the node state. The state of the node is based on the state
of the ports, which can be derived directly from calling the port
methods. Track this state in the Port instead.
Add a mixer module that puts a mixer in from of audio sinks. This allows
multiple clients to play on one sink (still has some bugs). do some
fixes in the mixer and the scheduler to make this work.
2017-04-08 20:33:54 +02:00