Wim Taymans
758805d65d
alsa: fix rate matching in the sequencer
...
The alsa sequencer rate matching was not actually working correctly.
It would compare the previous queue time with the current time and
compare that to the quantum. This would include uncorrected errors from
jitter and would result in the timeouts being scaled in the wrong
direction forever.
Instead, calculate an ideal queue time and compare our current queue
time against that. We then use the correction to scale the timeout or
the next queue time prediction.
Also use the predicted time as the base time for the event timestamps.
this results in less jitter.
Fixes #3657
2023-12-05 15:12:27 +01:00
Barnabás Pőcze
934ab3036e
treewide: use SPDX tags to specify copyright information
...
SPDX tags make the licensing information easy to understand and clear,
and they are machine parseable.
See https://spdx.dev for more information.
2023-02-16 10:54:48 +00:00
Dmitry Sharshakov
3b89e6f369
alsa-seq: add an option to disable longname in MIDI ports
...
Untested yet
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
2022-09-13 07:46:40 +00:00
Wim Taymans
1bf1497855
spa: mode dll to utils
2022-03-30 17:22:26 +02:00
Wim Taymans
c3bf07dff1
alsa-seq: make clock name configurable
2021-12-10 12:20:08 +01:00
Peter Hutterer
e9d869b46f
spa: implement a log topic for alsa
2021-09-28 09:35:39 +02:00
Wim Taymans
c54f64cd13
alsa: clean up rate matching code
...
Remove some useless fields.
Use macros for time<->rate conversions.
2021-09-06 12:55:06 +02:00
Wim Taymans
f03f1926e3
seq: track port latency
2021-06-24 10:04:19 +02:00
Wim Taymans
0779862cda
alsa-seq: add port latency reporting
2021-05-27 15:26:09 +02:00
Wim Taymans
39a2636c9b
alsa: clean up port and node params
2021-05-21 11:08:52 +02:00
Wim Taymans
d776a0917d
alsa: refactor dll code
2020-12-09 12:09:40 +01:00
Wim Taymans
74665de68e
alsa-seq: keep track of last port
...
Keep track of the last port and only iterate until that port.
2020-03-31 17:52:22 +02:00
Wim Taymans
e6675ff2a8
alsa-seq: unsubscribe when paused/suspended
...
When we are suspended or paused, unsubscribe from the ports so that
we don't block the hardware devices.
See #225
2020-03-31 12:14:52 +02:00
Wim Taymans
a528189d26
slave -> follower
...
We use master/follower terminology everywhere.
2020-02-21 10:47:32 +01:00
Wim Taymans
9ffec214b8
fix includes
2019-10-25 15:01:02 +02:00
Wim Taymans
f30b4bf506
alsa-seq; remove latency property
2019-10-24 12:48:28 +02:00
Wim Taymans
8d472befaa
alsa-seq: Improve connection setup
2019-09-25 10:48:25 +02:00
Wim Taymans
f0b3ed5257
alsa-seq: improve timings
...
Track the position of the clock instead of our own timer.
Implement stop.
2019-09-25 10:14:25 +02:00
Wim Taymans
387b281f5c
alsa-seq: use dll to track queue timer
...
Also increase timer resolution to get less jitter.
2019-09-24 17:23:39 +02:00
Wim Taymans
818fb9e904
alsa: add midi bridge
...
Add a node that exposes all midi input and output ports and converts to
and from PipeWire control streams.
2019-09-19 16:57:00 +02:00