Wim Taymans
b67fb6fa5b
io: add latency io area
2018-07-19 15:17:21 +02:00
Wim Taymans
0d148654c0
stream: add more timing info
...
Keep track of queued data in the stream
Pass delay field around to make it possible to know about the raw
software read/write pointer and the hardware one.
Start stream position at 0
2018-07-19 13:30:27 +02:00
Wim Taymans
d3c203b744
spa: use clock info
...
Use the port clock io area to get timing info and use this as
the time in the graph when we wake up.
2018-07-17 17:37:55 +02:00
Wim Taymans
fba00fb791
clock: remove clock interface
...
Remove the clock interface, we need to get timing information with an io
area to get the required precision and performance.
2018-07-17 09:50:51 +02:00
Wim Taymans
e5807cd467
small cleanups
2018-07-13 11:43:06 +02:00
Wim Taymans
5a3eee9cac
command: remove clock-update
2018-07-12 13:22:50 +02:00
Wim Taymans
f49ab32874
meta: add video damage region metadata
...
Add damage region meta
Implement damage region in video-src and export-sink
2018-07-09 12:07:30 +02:00
Wim Taymans
c98fbfe0a9
meta: make safer find_meta_data function
2018-07-09 12:04:23 +02:00
Wim Taymans
33427b4cd3
small cleanups
2018-07-08 15:23:56 +02:00
Wim Taymans
e5c2896fca
pod: add padding to float pod
2018-07-03 21:28:48 +02:00
Wim Taymans
b53f96eae9
alloc: fix buffer data mem
...
We also need to skip over the metadata and chunk memory
2018-06-15 11:13:02 +02:00
Wim Taymans
1bfb1d9228
loop: return number of dispatched fds and update docs
2018-06-01 11:16:53 +02:00
Wim Taymans
6f5a2701f3
utils: add some more helpers
2018-06-01 11:08:25 +02:00
Wim Taymans
5a1bd77fb5
buffer: add dummy field for better alignment
2018-05-24 16:15:40 +02:00
Wim Taymans
ef9fcd1093
node: keep better track of driver node
...
When a session disappears, try to move nodes to another session.
2018-05-17 17:40:08 +02:00
Wim Taymans
65e00631da
hook: make safer
...
Also protect against removal of the next hook by using a cursor.
2018-05-17 17:21:30 +02:00
Wim Taymans
6d79ce2589
small cleanups
2018-05-10 11:28:02 +02:00
Wim Taymans
d93dd5ec93
graph: remove io from graph port, it's not needed
2018-05-08 12:21:57 +02:00
Wim Taymans
249110eb79
graph: trigger does not need to be a callback
2018-05-08 12:19:54 +02:00
Wim Taymans
7bb0e4da85
small cleanups
2018-05-08 10:42:17 +02:00
Wim Taymans
ced868c208
graph: improve debug
2018-04-25 15:49:08 +02:00
Wim Taymans
3b8ffdfb4e
io: make status as flags
...
This way we can return status of both input and output
2018-04-19 20:10:47 +02:00
Wim Taymans
30d8df7d25
add layout to format
2018-04-19 20:09:10 +02:00
Wim Taymans
de36330917
handle: make method to get size
2018-04-09 10:06:17 +02:00
Wim Taymans
53e03019da
buffer: more work on buffer allocation
...
Separate buffer sizes in the info. Make it possible to not set
data pointers for when we use memfd for the memory.
Improve format conversion.
Work on in-place conversion in test-convert2
2018-04-09 09:30:56 +02:00
Wim Taymans
19067dde17
buffer-alloc: add helpers for buffer allocation
...
Add some helpers to calculate buffers memory sizes and
construct buffer structures in memory.
2018-04-06 17:44:33 +02:00
Wim Taymans
b171361204
stream: for format conversion
2018-04-05 15:38:10 +02:00
Wim Taymans
ba518c0d9b
small fixes
2018-04-05 15:37:34 +02:00
Wim Taymans
7db732e2e2
spa: some more defines
2018-04-03 16:29:36 +02:00
Wim Taymans
a7341ce583
node: fix support for remote driver nodes
2018-04-03 16:29:36 +02:00
Wim Taymans
99d94044d1
small cleanups
2018-04-03 16:29:36 +02:00
Wim Taymans
33a322b96e
graph: new scheduling model
...
Make explicit links between elements that are used to activate the
next element in the graph.
Make subgraphs a special regular node. Make a link from the
subgraph children to the parent so that the subgraph completes when
all the children completed.
Implement a single process function in plugins
Remove many messages in the client node
2018-04-03 16:29:36 +02:00
Wim Taymans
9b0a880afb
simplify things with just 1 process function
...
Make just one process function in spa node. With the io area states
we can do more complicated io patterns.
2018-04-03 16:29:36 +02:00
Wim Taymans
3a9df8096b
WIP add subgraph
2018-04-03 16:29:36 +02:00
Wim Taymans
933635f63f
WIP: work on per driver graphs
...
Make a graph per driver node and let nodes that link to this join this
graph
Work on an idea for an even simpler scheduling mechanism.
2018-04-03 16:29:36 +02:00
Wim Taymans
6eea9247ea
graph: add new scheduler
...
Move the activation state to the graph
Replace an old scheduler with a new one that works with the new
activation states.
Remove the DISABLED port flags, we explicitly add and remove to
make ports enabled/disabled.
Find first compatible port for link
Remove the node based scheduler and use the spa one.
2018-04-03 16:29:36 +02:00
Eike Rathke
871dd2743b
__STDC_VERSION__ may be undefined
...
Clang++ (and g++) don't define __STDC_VERSION__ which results in
include/spa/support/log.h:101:5: error: '__STDC_VERSION__' is not defined, evaluates to 0 [-Werror,-Wundef]
#if __STDC_VERSION__ >= 199901L
include/pipewire/log.h:64:5: error: '__STDC_VERSION__' is not defined, evaluates to 0 [-Werror,-Wundef]
#if __STDC_VERSION__ >= 199901L
so check if __STDC_VERSION__ is defined before comparing.
Also, include/feature.h additionally defines __USE_ISOC99 (and
__USE_ISOC11 for C11 extension), so check these as well.
2018-04-03 16:27:58 +02:00
Wim Taymans
8cadcd7f56
hook: return number of hooks called
...
Do finish_format ourselved when nobody was listening for the
format change.
2018-03-14 16:03:33 +01:00
Wim Taymans
2ed627f3b1
list: remove stray ;
2018-03-14 15:15:13 +01:00
Wim Taymans
6f61ac9357
fix some signed vs unsigned comparisons
2018-02-20 18:19:11 +01:00
Wim Taymans
0e5a1b6327
props: use macro for property alternatives
2018-02-20 09:36:05 +01:00
Wim Taymans
342f0d59d0
node: add some more port flags
...
Add port flags to mark physical and terminal ports
2018-02-09 18:05:35 +01:00
Wim Taymans
5f89cf4fa2
type-map: fix char array definition
2018-02-08 12:40:09 +01:00
Wim Taymans
21e3b4cec7
c++ compiler fixes
2018-02-08 11:24:20 +01:00
Wim Taymans
f049d3dc7f
Fix compiler issues with c++
2018-02-08 10:49:08 +01:00
Wim Taymans
9d4b0d8358
dbus: move rtkit to module
...
Move the rtkit code to a module.
Make sure we don't need to include the dbus headers in the spa dbus
interface. This removes the dependency on dbus.
2018-02-08 10:02:17 +01:00
Wim Taymans
3289e3fb7e
v4l2: handle control properties
...
Add the right propId to properties so they can get controls.
Keep track of properties and handle the io area for them
Check if properties changed and update the v4l2 controls
2018-02-07 18:08:16 +01:00
Wim Taymans
4c1dc20eac
io: remove unused field
2018-02-07 11:31:47 +01:00
Wim Taymans
c524fae523
list: add more helpers
2018-02-06 09:25:27 +01:00
Wim Taymans
01d8fdc1bf
graph: reset counters before checking peers
2018-01-30 14:51:18 +01:00