Commit graph

3961 commits

Author SHA1 Message Date
Wim Taymans
5d5bb23e2b proxy: add pw_proxy_ref() private method 2020-06-04 17:30:41 +02:00
Wim Taymans
5ad8491371 pipewire: make pw_init() work after pw_deinit() 2020-06-04 17:29:32 +02:00
Wim Taymans
eb74b2bf94 buffers: fix warning 2020-06-04 16:59:14 +02:00
Wim Taymans
814b74265c jack: stop the thread loop before we destroy objects 2020-06-04 13:08:39 +02:00
Wim Taymans
253e304124 jack: destroy link proxy
Destroy the link proxy immediately so that we don't leak it.
The link is marked as 'linger' and will thus keep on living
even when our proxy is gone.
2020-06-04 12:59:55 +02:00
Wim Taymans
38cfa2d71d jack: fix leaks 2020-06-04 12:59:20 +02:00
Wim Taymans
d69ff4514d tools: fix leaks 2020-06-04 12:49:15 +02:00
Wim Taymans
49619f2b1e tools: fix leaks 2020-06-04 12:41:56 +02:00
Wim Taymans
fa04d2ee1b profiler: fix some leaks 2020-06-04 12:37:56 +02:00
Wim Taymans
30571d4706 tools: fix some leaks 2020-06-04 12:35:16 +02:00
Wim Taymans
0ee7d8119c core: only warn about leaked proxies
Only give a warning about the leaked proxies and set the core
pointer to NULL. Make sure the proxy handles the NULL pointer in
destroy.
2020-06-04 12:33:16 +02:00
Wim Taymans
f1e7e86bee buffers: add support for multiple data blocks
Support multiple data blocks in a buffer.
2020-06-04 12:31:17 +02:00
Wim Taymans
704d504a44 media-session: mark enabled modules with * 2020-06-04 10:51:03 +02:00
Wim Taymans
0b47b47b6c libcamera: disable by default
Until it is at least more comon available in distros.
2020-06-04 10:50:54 +02:00
raghu447
39974903df Rebasing 2020-06-04 10:36:39 +02:00
raghu447
0d8e030c6e Removed datas field 2020-06-04 10:36:39 +02:00
raghu447
d93870fdeb Removed redundant logs 2020-06-04 10:36:39 +02:00
raghu447
af263187ea Reverting redundant changes 2020-06-04 10:36:39 +02:00
raghu447
9024cc4444 Integrating libcamera 2020-06-04 10:36:39 +02:00
Wim Taymans
ee1b79c4cd stream: setting a format always clears buffers 2020-06-04 10:18:13 +02:00
Wim Taymans
8292c556e9 client-node: first set param, then clear buffers
Because setting the param might still access the buffer to do
cleanup.
2020-06-04 10:15:37 +02:00
Wim Taymans
33cd2495b8 examples: add signal handler for clean exit 2020-06-04 10:10:08 +02:00
Wim Taymans
197ffe32ba Makefile: set VALGRIND variable in valgrind 2020-06-04 10:09:35 +02:00
Wim Taymans
325280cbda core: run extra step to warn/destroy leaked proxies
Don't set the core to NULL in _remove so that the proxies
will be removed from the map when they are destroyed. Then make
another run over the map to warn about the proxies that were not
destroyed.
2020-06-03 16:54:46 +02:00
Wim Taymans
3060c57ba6 examples: add cleanup 2020-06-03 16:51:17 +02:00
Wim Taymans
6d0fd7b58c remote-node: run _destroy in the _removed handler 2020-06-03 15:42:45 +02:00
Wim Taymans
a7225090c8 core: improve cleanup
When the core is disconnected, first do _remove on all active
proxies and then run the _destroy handles. This makes it easier
to clean up dependent resources.

Remove the modules after removing all objects. It's harder for
 odules to track and remove all objects.
2020-06-03 15:38:13 +02:00
Wim Taymans
4405fe4c14 remote-node: handle deleted client-node 2020-06-03 15:28:28 +02:00
Wim Taymans
6b313de2ae examples: catch signal and clean up 2020-06-03 15:26:54 +02:00
Wim Taymans
702976ab9c context: avoid adding duplicate export types 2020-06-03 13:01:32 +02:00
Wim Taymans
8d0913c9d8 examples: add audio DSP source 2020-06-03 12:06:44 +02:00
Wim Taymans
baf3b0a27e pw-cat: zero out info 2020-06-03 12:06:14 +02:00
Wim Taymans
913ad43432 filter: free ports as well 2020-06-03 12:05:00 +02:00
Wim Taymans
b4b7ba4cbb remote-node: suspend node before cleanup
When the proxy is destroyed, suspend the node before we start
removing the memory or else the node might still be using it from
the data thread and crash.
2020-06-03 12:04:01 +02:00
Wim Taymans
e4e03fa7dd media-session: always activate DSP nodes
They don't need to be activated with a profile.
2020-06-03 12:03:20 +02:00
Wim Taymans
94cbb54517 stream: rename variable 2020-06-03 11:08:35 +02:00
Wim Taymans
203c89daaf pw-cat: cleanup registry proxy 2020-06-02 18:16:58 +02:00
Wim Taymans
3890f06c83 stream: let the node_destroy() destroy the proxy as well 2020-06-02 18:16:58 +02:00
Wim Taymans
3d22baab84 node: suspend before emiting destroy
The suspend makes sure no processing is going to be happening
while the signal could destroy resources.
2020-06-02 18:16:58 +02:00
George Kiagiadakis
17d7cdc80e spa-node-factory: cleanup node when binding the client resource fails 2020-06-02 15:47:06 +00:00
George Kiagiadakis
16c1a7fe33 spa-device-factory: destroy device when the creator resource is destroyed 2020-06-02 15:47:06 +00:00
Wim Taymans
0471ba7fba Add pw_in_valgrind() to check running in valgrind
In valgrind we don't want to unload the plugins because then valgrind
doesn't know the symbol names where things leaked.
Parse the VALGRIND env variable and use this to avoid calling
dlclose for a better valgrind experience.
2020-06-02 17:38:07 +02:00
Wim Taymans
fda9e4d5c8 call _deinit(() in session manager exit 2020-06-02 17:37:45 +02:00
Wim Taymans
00d61d958e add pw_deinit() to cleanup resources
Add and use pw_deinit() to avoid leaking the support plugins and
use this in the main daemon. Makes valgrind output better.
2020-06-02 17:16:46 +02:00
Wim Taymans
09913ca4ab metadata: free when the global is destroyed 2020-06-02 17:16:09 +02:00
Wim Taymans
4dfd60f838 add some more debug 2020-06-02 17:15:47 +02:00
Wim Taymans
c4b87aa5e2 audioadapter: clear convert handle to avoid leaks 2020-06-02 17:14:23 +02:00
Wim Taymans
7d88c37e5b alsa-seq: clear the midi event queue on close to avoid leak 2020-06-02 17:13:53 +02:00
Wim Taymans
d2bd076a97 alsa: close output handler to avoid a leak 2020-06-02 17:13:26 +02:00
Wim Taymans
4060934109 client-node: keep track of the client allocated fd
when we get port_buffers with memory from the client, store this
in the buffer data and make sure we close the fd when the buffers
are removed.
2020-06-02 15:19:39 +02:00