Wim Taymans
7b61bf8c8a
improve debug
2022-12-07 16:01:16 +01:00
Wim Taymans
27dcbfc1ee
remote-node: don't set activation state and signal_time twice
...
This is already set by resume_node.
2022-08-11 12:35:51 +02:00
Wim Taymans
1bc1d96f88
node: rename signal to signal_func
...
To avoid confusion and it is more easily greppable
2022-08-11 12:34:51 +02:00
Fabrice Fontaine
85ca67b927
fix detection of reallocarray
...
Fix detection of reallocarray (e.g. on glibc) raised since commit
0708a39b43
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2022-05-30 09:33:27 +02:00
Wim Taymans
ba7d410c3c
handle realloc error better
...
Make sure we free the old pointer, clear it and set the array size to 0.
Use reallocarray where possible.
2022-04-27 10:09:06 +02:00
Quentin Wenger
22fc9eec35
Cleanup argument names in methods and events interfaces
...
First method argument is object, first event argument is data.
Closes !963
2022-04-15 10:11:49 +02:00
Wim Taymans
74da804e97
move some debug to fastpath
2022-03-28 16:25:00 +02:00
Wim Taymans
cdf1b15d38
client-node: use dynamic pod builder
2022-03-01 21:07:56 +01:00
Wim Taymans
3db14600b2
remove some listeners
2022-02-09 12:33:52 +01:00
Wim Taymans
5fd427b86a
client-node: remove preallocated mix entries
...
Just allocate the dynamically, which allows us to remove the limit.
2022-02-09 09:23:52 +01:00
Wim Taymans
a868122c40
client-node: don't remove mix twice
...
The mix is added to a list in pw_impl_port_init_mix() and removed
again in pw_impl_port_release_mix().
2022-02-09 09:21:46 +01:00
Wim Taymans
ead827d6cb
modules: limit the max amount of items in the protocol
...
For now, put a limit on the amount of items we can send and receive
over the native protocol. A more complex way of allocating and freeing
can be implemented later when we really need to raise the limits.
Fixes #2070
2022-01-28 15:55:44 +01:00
Wim Taymans
b5080a0395
node: dispatch RequestProcess event and command
...
The event is send to the driver node.
The command is sent to node directly.
2021-10-27 11:16:53 +02:00
Wim Taymans
100c12460f
client-node: handle events, send them to the server part
2021-10-19 12:28:23 +02:00
Peter Hutterer
32fb369b66
modules: switch more modules to the new property helpers
2021-10-13 07:12:00 +00:00
Peter Hutterer
14112fd168
modules: use the new topic-based logging from various pipewire modules
2021-09-28 09:35:39 +02:00
Wim Taymans
97be5687ec
remote-node: clear the node io areas when removing the memory
...
When the memory is removed, clear the node io areas so that it doesn't
accidentally get reused.
Fixes a crash in cheese when the node is stopped and then resumed.
2021-09-15 20:57:10 +02:00
Wim Taymans
21657ea2af
remote-node: improve node io tag
...
Set the second tag field to INVALID to separate the node io areas from
the port io areas.
2021-09-15 20:57:10 +02:00
Wim Taymans
435de99428
Increase pod buffer size
...
The props of a 64 channel node are at least 2048 bytes long so make sure
we can build and filter them.
Fixes #1574
2021-09-06 15:09:28 +02:00
Wim Taymans
324894e605
keys: add object.register property
...
Add a new object.register boolean property.
Make adapter and remote-note only register when object.register
is true.
Make stream and filter not register themselves. They are always
exported to a remote server and thus don't need local
registration.
Fixes #1309
2021-06-30 13:49:34 +02:00
George Kiagiadakis
59407d2f08
includes: update all references to extensions to point to pipewire/extensions
...
This also brings the advantage that all tools, examples, modules, components
can also be compiled standalone out-of-tree using libpipewire from the system
2021-06-18 17:54:18 +03:00
Wim Taymans
d8ad87fd09
context: improve settings and defaults
...
Make structure with defaults that holds the defaults as they are loaded
from the config file or initialized with default values.
Copy this structure to a settings version that is used at runtime.
Add a force-quantum and force-rate field in the settings that can be
used to force a quantum and samplerate if != 0.
2021-06-17 11:11:45 +02:00
Peter Hutterer
1d4b24d02b
pipewire: allow NULL pointers in pw_memmap_free()
...
Just like the real free() we should just ignore a NULL pointer, makes the
caller code easier for those instances where properties are optional.
2021-06-02 10:56:46 +00:00
Peter Hutterer
2405f0942b
spa/buffer: rename SPA_MEMBER to SPA_PTROFF
...
SPA_MEMBER is misleading, all we're doing here is pointer+offset and a
type-casting the result. Rename to SPA_PTROFF which is more expressive (and
has the same number of characters so we don't need to re-indent).
2021-05-06 09:39:39 +00:00
Wim Taymans
a76032a637
client-node: use the right port for io
...
To set the io on the mixer ports, we need to use the same id that
was used to add the port, not the id we use to identify the mixer
structure.
Fixes #759
2021-04-28 17:04:36 +02:00
Wim Taymans
b3d94bf019
improve debug
2021-04-28 17:04:16 +02:00
Wim Taymans
eaf3b3a3c9
remote-node: remove the mix from the port
...
We add the mix in init and remove it again when clearing.
See #973
2021-03-26 21:14:42 +01:00
Wim Taymans
210950dc0a
context: disable mlock warnings by default
...
Make this a tunable option instead.
2021-02-08 10:59:02 +01:00
Wim Taymans
abfc67a3ca
Revert "remove mlock and use MAP_LOCKED"
...
This reverts commit ab91e94b59 .
When no memory can be locked, the mmap fails with -EAGAIN.
Fixes #592
2021-01-19 14:47:52 +01:00
Wim Taymans
ab91e94b59
remove mlock and use MAP_LOCKED
...
The warnings are confusing and a properly tuned system would have
the limits set correctly.
2021-01-19 11:59:21 +01:00
Wim Taymans
9bf7be7984
client-node: increase some limits
...
See #416
2020-11-25 17:41:05 +01:00
Wim Taymans
f42da492f9
warn about lock just once
2020-11-14 21:21:20 +01:00
Wim Taymans
8ca71060eb
improve some debug
2020-11-03 18:04:42 +01:00
Wim Taymans
0e3198272b
remote-node: only update changed fields
2020-10-09 16:31:17 +02:00
Wim Taymans
35534baf9d
remote-node: clear up mix structures when port is removed
2020-08-19 11:23:16 +02:00
Wim Taymans
fb76f484a9
remote-node: also send spa_flags
2020-08-10 16:45:44 +02:00
Wim Taymans
5fda46fdb9
remote-node: activate node after init
...
Activate the node after we successfully created a proxy and
initialized it.
2020-08-07 11:52:35 +02:00
Wim Taymans
e5f85d6a4c
remote-node: clean node on error
2020-08-07 11:52:14 +02:00
Wim Taymans
f4e8ebab51
improve debug and error messages
2020-08-07 10:47:18 +02:00
Wim Taymans
553337df60
remote-node: handle remove port
2020-07-22 16:20:43 +02:00
Julian Bouzas
f75dfde89c
remote-node: process the mixer if io status have HAVE_DATA flag
...
Needed for audio sources created locally
2020-07-06 12:08:27 -04:00
Wim Taymans
1e2ad41d94
remote-node: fix user_data
...
Pass the node_data around instead of the proxy. Get the proxy from
the node data.
Allocate user_data before the node_data so that the caller can
use the proxy user_data without overwriting the node_data.
2020-07-03 15:19:40 +02:00
Wim Taymans
4c8f8671d7
client-node: improve error reporting
2020-06-18 15:40:53 +02:00
Wim Taymans
61c1fe546e
client-node: fix buffer size calculation
...
Calculate the size of the buffer as the difference between the first
byte and the last byte. This takes into account the alignment.
2020-06-15 20:44:08 +02:00
Wim Taymans
0efadbb297
client-node: free old mem after setting new mem
2020-06-05 13:04:43 +02:00
Wim Taymans
972a790cf2
client-node: send error when node_set_io fails
2020-06-05 13:03:16 +02:00
Wim Taymans
969377b079
client-node: simplify cleanup
...
Remove the extra proxy to the node, it's awkward and not needed.
pw_core_export() returns a handle to the remote object with the
interface of the factory.
If the node is destroyed, make sure the proxy doesn't access
it anymore.
If the handle is removed or destroyed, make sure we remove the
proxy related info around the node. Never destroy the proxy
ourselves, this is something the app needs to do when it is
ready.
2020-06-05 12:43:26 +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
6d0fd7b58c
remote-node: run _destroy in the _removed handler
2020-06-03 15:42:45 +02:00
Wim Taymans
4405fe4c14
remote-node: handle deleted client-node
2020-06-03 15:28:28 +02:00