Arun Raghavan
703380d62d
pulse-server: Fix querying after setting of mono mixdown
2026-01-26 14:37:08 -08:00
Wim Taymans
56a4ab5234
filter-chain: support no input or output streams
...
When the graph has no inputs and the channels is set to 0, don't create
a capture stream. Likewise, don't create a playback stream when there
are no graph outputs and the output channels is 0.
You can use this to make a sine source or a null sink.
2026-01-21 16:26:16 +01:00
Wim Taymans
7f2cce1021
filter-graph: add a null plugin
...
It discards all input.
2026-01-21 16:26:16 +01:00
Wim Taymans
a97c4d10af
filter-graph: allow 0 input and output ports
...
There is no reason to fail when there is no input or output port.
We can simply run the graph with what there is. Even if there is no
input or output at all, running one instance of the plugins is
possible.
Add a busy builtin plugin that has no ports and keeps the CPU IDLE or
busy for the give percent.
2026-01-21 16:26:16 +01:00
Wim Taymans
ba3e564e34
filter-graph: notify about default numner of in/out
...
The filter graph has, after parsing, a default number of input and
output ports. This is based on the description or the first/last element
input and output ports. Pass this information in the properties when
we emit the info.
Don't use the number of configured input/output ports as the default
number of channels in filter-chain because this is only determined after
activating the graph. Instead, use the default input/output channels.
The result is that when you load filter-chain without any channel
layout, it will default to the number of input/outputs of the graph
instead of 0. This allows for the node to be visible in the pulseaudio
API.
Fixes #5084
2026-01-21 16:26:16 +01:00
Alexander Stephens
c74acf6c25
module-rtp: Fix timestamp integer overflow
2026-01-16 11:06:21 +00:00
Alexander Stephens
dcdc19238b
module-rtp: Remove device_delay from timestamp math
2026-01-16 11:06:21 +00:00
Wim Taymans
c28a85ab34
zeroconf: use name+mode to detect duplicates
...
So that there can be a sink and source tunnel even when the name is the
same.
Based on patch by @kajusnau
Fixes #5079
2026-01-15 13:08:24 +01:00
Wim Taymans
0869be11f8
avb: fix compilation
2026-01-11 11:27:15 +01:00
hackerman-kl
3597e09600
milan-avb: introducing SET/GET CONTROL, first IDENTIFY
2026-01-11 10:26:10 +00:00
hackerman-kl
8912090c4d
milan-avb: add default AVB AECP MTU
2026-01-11 10:26:10 +00:00
hackerman-kl
1da30b545a
milan-avb: now get/set may or not have a payload
2026-01-11 10:26:10 +00:00
hackerman-kl
2f3c0bc596
milan-avb: introducing aem control value units header
2026-01-11 10:26:10 +00:00
hackerman-kl
1d485d8bbc
milan-avb: get entity-id rom the server, and not from a define
2026-01-11 09:00:36 +01:00
hackerman-kl
2fe254821c
module-avb: milan: aecp-aem: introducing GET/SET_SAMPLING_RATE commands
2026-01-09 13:04:19 +00:00
hackerman-kl
f70fc7ea28
milan-avb: using pull and frequency as a union
2026-01-09 13:04:19 +00:00
hackerman-kl
e7f1a8f55d
milan-avb: get-set name: removing unused var
2026-01-09 13:03:02 +00:00
hackerman-kl
d3a5b352b2
milan-avb: Make sure to get payload size not the packet size
2026-01-09 09:38:06 +01:00
Timon
aec99d2b6f
format: Add support for sample rate of 1.536 Mhz
2026-01-09 01:16:30 +01:00
Wim Taymans
6ed9645465
profiler: keep per node last_profile_time
...
So that multiple drivers can get updated per interval when
profile.interval.ms is used.
Fixes #5061
2026-01-06 17:24:55 +01:00
Dimitris Papaioannou
1f2a5d99b1
module-eq: Unload filter-chain on destruction
...
Make the parametric-equalizer module destroy the underlying filter-chain
module on destruction. This makes the EQ nodes get destroyed on unload.
Fixes #5045
2025-12-26 18:53:48 +00:00
Arun Raghavan
385161b12a
pulse-server: Add a message to enable/disable mono mixdown
...
WirePlumber recently added a mechanism to force mono mixdown on audio
outputs, which is a useful feature for accessibility. Let's also expose
that setting via libpulse for existing audio settings UIs to be able to
use.
2025-12-18 16:35:35 -08:00
Wim Taymans
bb564d5eb6
avb: fix compilation
2025-12-15 09:27:10 +01:00
hackerman-kl
6f1938d501
milan-avb: milan: adding set/get clock-source for a clock-domain
2025-12-15 08:18:30 +00:00
hackerman-kl
bb1ef8ea5e
module-avb: milan: introducing full entity model for mlian v1.2
2025-12-15 08:17:50 +00:00
hackerman-kl
b22e442b10
module-avb: milan: adding get/set for configuration
2025-12-15 08:17:50 +00:00
Tyler
43bf1b8f7c
module-rt: warn if setting niceness fails with rtlimit
2025-12-11 16:38:00 -08:00
hackerman-kl
ba8c6154a0
milan-avb: silent gcc warning as the variable will be used
2025-12-11 08:13:20 +01:00
Wim Taymans
548f26882f
avb: fix compilation
2025-12-10 11:33:06 +01:00
hackerman-kl
63abd4e71c
milan-avb: cmds-get-set-name: fix unused variable warning
2025-12-10 07:11:16 +01:00
hackerman-kl
c2ada3175e
module-avb: aecp-aem: SET/GET STREAM_FORMAT answer implemented.
...
In the current state the GET/SET stream format can handle the commands
response however, yet, it does not take care of checking that:
* A bound input stream cannot have it set, should reply accordingly
* A STREAMING_STREAM output stream cannot have it set, should reply
accordingly.
2025-12-10 07:07:24 +01:00
hackerman-kl
d9fa0629f6
milan-avb: milan: adding set/get name command handler
2025-12-09 19:40:59 +00:00
hackerman-kl
13def13f01
module-avb: milan: aecp-aem handle de/registration for unsolicited notification, and add avb info common
2025-12-07 16:08:36 +00:00
hackerman-kl
ea653a52e3
module-avb: milan: lock command handles unsolicited notifications
2025-12-07 16:08:36 +00:00
hackerman-kl
6054c1a12b
module-avb: introducing unsolicited notification reply
2025-12-07 16:08:36 +00:00
hackerman-kl
b43d915e71
module-avb: milan: make lock state as part of the generic entity state structure
2025-12-07 16:08:36 +00:00
hackerman-kl
4f8f7980f0
module-avb: milan: add default CONTROL_DATA_OFFSET for aem parsing
2025-12-07 16:08:36 +00:00
hackerman-kl
a6d7e98db3
module-avb: milan: introducing controller deregister unsolicited notification
2025-12-07 16:08:36 +00:00
hackerman-kl
ad43eba25c
module-avb: milan: introducing controller registered unsolicited notifications
2025-12-07 16:08:36 +00:00
hackerman-kl
a97abf10ab
module-avb: state variable entity id name fixing
2025-12-07 16:08:36 +00:00
hackerman-kl
86168ab1e2
module-avb: aecp-aem: move type into their own dedicated header file
2025-12-07 16:07:56 +00:00
hackerman-kl
2f83c5dab5
module-avb: descriptors: adding control specific defines
2025-12-07 16:07:56 +00:00
hackerman-kl
63a37e4947
module-avb: descriptors: introducing control and value format used by control descriptors
2025-12-07 16:07:56 +00:00
hackerman-kl
a1a33141d7
module-avb: descriptors: introducing clock domain descriptor
2025-12-07 16:07:56 +00:00
hackerman-kl
82fe584f51
module-avb: descriptors: introducing port flags
2025-12-07 16:07:56 +00:00
hackerman-kl
b90bd2c528
module-avb: descriptors: adding mapping and audio mapping format
2025-12-07 16:07:56 +00:00
hackerman-kl
43448f147c
module-avb: descriptors: adding cluster descriptor for milan and legacy AVB
2025-12-07 16:07:56 +00:00
hackerman-kl
1b39e7836d
module-avb: state: fix header includes
2025-12-07 16:07:56 +00:00
hackerman-kl
f65d5654d3
module-avb: milan: acquiring not supported directly called
2025-12-06 08:34:19 +01:00
hackerman-kl
198f4a92f5
module-avb: milan: introducing direct reply calls
2025-12-06 08:32:32 +01:00