pipewire/spa/plugins
Wim Taymans f8389cbdb7 alsa: improve force_rate handling
Replace force_rate with force_quantum. We use force_rate when we need
to play an IEC958 or a DSD format but it does not make sense to just
force the rate without also forcing the duration.

This is also what happens when doing IRQ based scheduling, we then force
both the duration and rate of the graph so we can reuse this logic.

Also when forcing a quantum, take into account the suggested duration
and rate of the graph and scale that with the currently configured rate
for the period size. This gives a quantum that will match the requested
rate better. This is important for the DSD, where rate are very high and
we want the period size to be something reasonable relative to the
selected graph rate.

For batch devices (and when using a timer) we also configure a period
size that is half the duration of the quantum, to make sure we get some
headroom. We however need to force the full duration as the quantum, so
keep track of this scaling and apply when calculating the duration.
2025-09-25 12:29:05 +02:00
..
aec spa: aec: webrtc: Expose echo canceller mobile_mode 2025-07-09 13:02:18 -04:00
alsa alsa: improve force_rate handling 2025-09-25 12:29:05 +02:00
audioconvert adapter: fix Start of adapter 2025-09-24 12:36:13 +02:00
audiomixer audiomixer: set change mask correctly 2025-09-03 10:01:38 +02:00
audiotestsrc spa: use safe IO_Control parsing 2025-07-31 11:23:30 +02:00
avb *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
bluez5 bluez5: iso-io: sync to ISO RX clock, align stream RX in group 2025-09-07 18:26:03 +00:00
control control: unit test for event sort 2025-09-17 13:42:12 +02:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: clear external field in unsetup_graph 2025-08-28 10:15:05 +02:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera spa: libcamera: source: fix typo in log message 2025-09-07 18:21:53 +00:00
support node-driver: Make sure the discont clock flag does not remain set forever 2025-07-18 10:52:13 +02:00
test spa: make the wave, pattern and ditherType Int 2025-06-13 10:06:09 +02:00
v4l2 treewide: map SPA_PROP_exposure to V4L2_CID_EXPOSURE_ABSOLUTE 2025-09-05 17:26:44 +02:00
videoconvert adapter: fix Start of adapter 2025-09-24 12:36:13 +02:00
videotestsrc loop: spa_loop_invoke -> spa_loop_locked where possible 2025-05-30 11:59:35 +02:00
volume spa: fix volume plugin compilation 2024-06-18 15:44:26 +02:00
vulkan spa: vulkan: map VK_INCOMPLETE to ENOSPC 2025-07-12 19:54:14 +00:00
meson.build filter-chain: move the filter-graph to plugins 2024-11-13 11:12:06 +01:00