- Feb 28, 2024
-
-
P V authored
-
P V authored
Use new kernel ioctl() to get accurate reading of queue length and latency on kernel + controller side. Use the latency information to workaround controller issues where streams are desynchronized due to tx problems or spontaneously when some packets that should have been sent are left sitting in the queue, and transmission is off by a multiple of the ISO interval. This state is visible in the latency information, so if we see streams in a group have persistently different latencies, drop packets to resynchronize them. Also make corrections if the kernel/controller queues get too long, so that we don't have too big latency there. Link: https://github.com/bluez/bluez/issues/515
-
P V authored
-
Wim Taymans authored
Setting it to NULL will remove it from the properties and will not send the updated property to the server, keeping things freewheeling forever.
-
Wim Taymans authored
Don't just overwite the node.group property when changing the freewheel thate but append the frewheel group and remove it again to preserve the original node.group.
-
Wim Taymans authored
See #3873
-
Wim Taymans authored
Keep track of the valid ports and don't emit port info for invalid ports. When a listener is added while the ports are being created, it is possible that the ports are still NULL or invalid.
-
Wim Taymans authored
The info is NULL when the port is removed, don't crash on that.
-
George Kiagiadakis authored
The conf argument was unused before, but it is correctly populated using the context's conf in pw_context_new(), so the code behaves the same effectively. This allows parsing standard conf sections from other configuration sources, as long as the sections are placed in a dictionary.
-
- Feb 27, 2024
-
-
-
-
-
-
Monitoring does not interact with the normal modes of pw-link, so separate it from them.
-
This is safer than using a bare array of `uint32_t` with hard-coded indices.
-
Using an enum provides better debugging experience and indicates the purpose better than a bare `uint32_t`.
-
-
-
- Feb 26, 2024
-
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
- Feb 25, 2024
-
-
Use `getaddrinfo` in `parse_address` instead of `inet_pton`. Display Ipv6 addresses with scope identifiers correctly in `get_ip` functions using `if_indextoname`.
-
Add missing strings
-
-
- Feb 24, 2024
- Feb 23, 2024
-
-
Wim Taymans authored
We can deduce this from the way the node is configured with the PortParam now.
-
- Feb 22, 2024
-
-
Wim Taymans authored
-
- Feb 21, 2024
-
-
P V authored
Add some option to set manually group IDs of unicast streams of devices. Intel controllers don't appear to support more than one group at a time, but in principle this can be done.
-
Wim Taymans authored
Keep track of the active number of mixer ports and update the global mix io in sync with the data thread because that is where we will check the state of the global mix io. This is mostly important for output ports. When removing all links from an output port, we first will clear all the mixer io and then remove the global mixer with client_node_port_set_mix_info(). If we don't clear the io before that, the data thread will be using that buffers as they are cleared. See !1915
-
Wim Taymans authored
When we clear the port io, pause the core until the invoke call completed. This way we don't start processing other messages until we have safely removed the port io. Normally, when clearing a link on a port, first the mix io will be set to NULL and then the format will be cleared, which clears the buffers as well. By delaying the processing of the format clear until the io is removed from the data thread we avoid taking away the buffer memory from the processing thread prematurely. When creating a link, first the format and buffers are configured and then the io is set, which should be safe in all cases. See !1915
-
- Feb 20, 2024
-
-
Wim Taymans authored
-
Dimitrios Katsaros authored
You can now do this to permanently enable htimestamp: pw-cli s 38 Props '{ params: [ api.alsa.htimestamp.max-errors: 0, api.alsa.htimestamp: true ]}'
-
- Feb 19, 2024
-
-
P V authored
-
P V authored
Disable graphs in the layout file. Doxygen seems to ignore Doxyfile settings if they're enabled in layout.
-
P V authored
Add some sections to index + fix typos and section levels. Clarify discussion of device properties.
-
Wim Taymans authored
Use 'unknown' when we can't find the peer_name. Otherwise we will just get a protocol error when the node.name is missing.
-
Propagate the error if spa_system_eventfd_create() fails. Also copy errno before calling spa_log_debug() in spa_system_eventfd_create() to make sure it is not overwritten.
-
Wim Taymans authored
When we emit a new EnumFormat, the adapter will renegotiate a new format that will be applied when we restart. Fixes #3858
-
Wim Taymans authored
When the follower has new EnumFormat, make sure we recheck the formats the next time the node is started.
-