Commit graph

1409 commits

Author SHA1 Message Date
Jan Grulich
77f759eb6e Bump apiversion and soversion for PW 0.2.x 2018-08-14 14:40:07 +02:00
Wim Taymans
31d9438b55 version: add version file 2018-08-14 14:39:15 +02:00
Wim Taymans
c6140bbe38 deviceprovider: fix memory leaks
Fix leaking of the node info and caps by tracking the proxy object
and freeing our stuff when it is destroyed.
2018-08-14 14:33:34 +02:00
Wim Taymans
f0a1ab993f gst: keep track of clock time
Invalidate the clock when the stream is destroyed and let the new
clock take the time of previous clock when no timing info is
available.
2018-08-14 14:32:57 +02:00
Wim Taymans
21a79241ed pipewiresrc: fix refcounting of buffers 2018-08-14 14:29:44 +02:00
Wim Taymans
17cc9d2039 add media session example beginnings
Add an example media session that runs as a separate program instead
of a module
2018-08-09 11:07:41 +02:00
Wim Taymans
8f8ed7270a link: reset port state on deactivate
Make sure we renegotiate the mix ports when we deactivate the link.
2018-08-09 11:03:45 +02:00
Wim Taymans
f7c84b733b gstdeviceprovider: fix caps introspection
Enum the node port params to get the caps of the devices.
2018-08-03 17:42:49 +02:00
Wim Taymans
1d34d994e2 link: limit number of buffers when allocating
When we let the nodes allocat buffer, limit the number of buffers to 16
for now. We run out of fds when sending the message. We would need to
send the fds in multiple sendmsg calls.
2018-08-03 17:39:55 +02:00
Wim Taymans
41c63149f9 audioconvert: remove unused fields 2018-08-03 17:39:28 +02:00
Wim Taymans
f087a088a5 small debug improvements 2018-08-01 21:43:31 +02:00
Wim Taymans
a63523650d hooks: enforce version on hook emission
Pass the minimum required version to the hook emission and only call
events when the handler is recent enough.
Add some macros to make event emission easier to read.
2018-08-01 21:41:25 +02:00
Wim Taymans
a72e3cefd7 fmt: fix 24 bits audio 2018-08-01 18:15:17 +02:00
Wim Taymans
8188d6f904 link: don't update port state in deactivate 2018-08-01 10:12:01 +02:00
Wim Taymans
899e67eb61 client-node: clear buffers when mixer is removed 2018-07-31 21:36:10 +02:00
Wim Taymans
60ec372212 floatmix: add missing file 2018-07-31 19:17:44 +02:00
Wim Taymans
ea66ac4075 alsa: update write offset after each write 2018-07-31 17:40:32 +02:00
Wim Taymans
57ef49b154 client-node: fix port implementation
Make the port forward the port methods to the node.
Fix io area when not using adapter
2018-07-31 14:28:15 +02:00
Wim Taymans
ca898a00db work on separating port mixers
Make it possible to assign an arbitary node as the port mixer.
Also remove dynamically added ports.
Improve negotiation and allocation on the mixer ports
Add some more SSE optimisations
Move float mixer from the audio dsp to the port
Remove pw_node_get_free_port() and do things more explicitly.
Handle mixer ports in client-node
2018-07-31 12:23:35 +02:00
Wim Taymans
f55cb422cb hook: add priv fields for future expansion 2018-07-20 10:34:27 +02:00
Wim Taymans
892b57c55d stream: add capture queued time calculation
Take the size of a newly captured buffer as the difference between
previous and current tick and use this to calculate the queued size.
2018-07-19 16:55:00 +02:00
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
2b1b356455 audio-dsp: add some SSE2 2018-07-17 09:52:27 +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
83bb8dc599 remote: also make thread realtime for clients 2018-07-13 11:56:09 +02:00
Wim Taymans
e5807cd467 small cleanups 2018-07-13 11:43:06 +02:00
Wim Taymans
cc542935ea client-node: add more generic set_io method
Replace the set_position method with set_io that allows us to share
other types of state with the client.
2018-07-12 15:33:07 +02:00
Wim Taymans
5a3eee9cac command: remove clock-update 2018-07-12 13:22:50 +02:00
Wim Taymans
6976175d65 module: remove obsolete code 2018-07-12 12:41:09 +02:00
Wim Taymans
54c45252fd client-stream: don't run the driver
The driver will take the initiative to run the graph
2018-07-11 20:09:32 +02:00
Wim Taymans
fdc3d5c0f7 export-sink: be less verbose
Only report region once and only accept 1 region
2018-07-09 12:14:01 +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
3f45ccd6a5 gst: update to current API 2018-07-08 15:23:28 +02:00
Wim Taymans
e0676fcef8 array: update size on delete 2018-07-07 11:29:45 +02:00
Wim Taymans
2ac2822d4f link: always activate the link
Always activate the link, don't rely on the node to activate us.
2018-07-07 10:46:49 +02:00
Wim Taymans
1cdb7e0214 thread-loop: add some debug 2018-07-04 15:31:44 +02:00
Wim Taymans
ef307d37bc node: add node session property 2018-07-04 15:30:41 +02:00
Wim Taymans
bc2b965591 audio-dsp: use the quantum to fill underrun with silence 2018-07-04 10:34:11 +02:00
Wim Taymans
055518b40d stream: add parameter support
Rework parameter handling
Hook up volume parameters
Small cleanups
2018-07-03 21:59:34 +02:00
Wim Taymans
70b04da723 media-session: express quantum relative to rate 2018-07-03 21:55:08 +02:00
Wim Taymans
9417cdd9e6 client-stream: Also link controls
Improve registration of the node, set the media.class
2018-07-03 21:47:53 +02:00
Wim Taymans
1b4a0e8d5d client-node: also implement io on the node itself 2018-07-03 21:45:07 +02:00
Wim Taymans
79a3b594f9 client-node: set parent id and owner
Make sure we set the right parent id and owner for the client node
and client-stream
Move the remote id in the proxy object and use it in the stream to
get the node id.
2018-07-03 21:43:21 +02:00
Wim Taymans
fe03ec8bde array: add some more helpers 2018-07-03 21:35:47 +02:00
Wim Taymans
8f97e0dd31 audioconvert: add volume control 2018-07-03 21:34:22 +02:00
Wim Taymans
e5c2896fca pod: add padding to float pod 2018-07-03 21:28:48 +02:00