Wim Taymans
e7b5bd5e5b
alsa: actually place the delay in clock.delay
2020-01-30 19:32:19 +01:00
Wim Taymans
65caf8832c
spa: install in versioned directory
...
So that we can run old and new plugins side by side.
2020-01-29 15:51:41 +01:00
Wim Taymans
82e099ed37
alsa: use the card name in the object.path
...
The card name (id) can be configured with udev rules to remain
constant based on where the device is plugged in even when there
mulitple of the same devices.
2020-01-29 13:37:35 +01:00
George Kiagiadakis
0c63d045ee
alsa-pcm: call reuse_buffers when resetting the state of the buffers
...
This allows the upstream node to put buffers back to its pool in case
they were left around in the ready list locally when the alsa-pcm-sink
was last paused.
Fixes #203
2020-01-14 11:28:04 +00:00
Wim Taymans
c14881fbe2
Respect the rate from the position as the default
2020-01-09 16:43:08 +01:00
Wim Taymans
f391353c7f
Make interface types a string
...
This is more in line with wayland and it allows us to create new
interfaces in modules without having to add anything to the type
enum. It also removes some lookups to map type_id to readable
name in debug.
2019-12-19 13:36:04 +01:00
Wim Taymans
9657486a81
alsa-seq: update duration when slaved as well
2019-12-18 13:27:29 +01:00
Wim Taymans
3131acea46
alsa-seq: close seq device
...
When we unload, close the seq device again so that the source is
removed from the main loop.
2019-11-28 11:21:41 +01:00
Wim Taymans
feb8dd3a34
Add include of keys.h
2019-11-21 09:34:08 +01:00
Wim Taymans
ac24743b2e
the epoll shim should only be used by the system library.
...
All other places should use the system library to get the right
fds.
2019-11-19 15:16:18 +01:00
Gleb Popov
fd937fa378
On FreeBSD, add dependency on epoll-shim library.
...
FreeBSD doesn't provide timerfd and eventfd functions. These are implemented in
3rd party library called epoll-shim. Link targets requiring these functions to
this library.
2019-11-19 13:41:40 +01:00
Wim Taymans
d94019ccd2
io: Add current video frame size to position
...
Add some padding, tweak some padding
Remove count in the clock, it's useless
For video frames we will want to use metadata to place
this on individual buffers.
2019-10-29 14:08:40 +01:00
Wim Taymans
9ffec214b8
fix includes
2019-10-25 15:01:02 +02:00
Wim Taymans
af73585948
Increase max buffer size
2019-10-24 15:26:59 +02:00
Wim Taymans
f30b4bf506
alsa-seq; remove latency property
2019-10-24 12:48:28 +02:00
Wim Taymans
2fa97daa24
add some constants for max samples
2019-10-24 12:35:00 +02:00
Wim Taymans
9f4df5ee40
alsa: add some debug, tweak resync
2019-10-23 16:26:35 +02:00
Wim Taymans
5383782336
alsa: Disable rate matching for the same card
...
Add a clock name to the clock, remove the old api/clock_id. This makes
it easier to add descriptive names
Place the alsa card number in the clock name.
Check the clock name of the master clock and if it matches our own
clock, disable rate matching.
2019-10-23 16:04:03 +02:00
Wim Taymans
ff96165035
Improve debug
2019-10-22 13:06:20 +02:00
Wim Taymans
fa25900682
alsa-seq: fix for being a slave
2019-10-22 12:24:04 +02:00
Wim Taymans
e10a74785c
pcm: don't complain on Suspend
2019-10-22 12:20:29 +02:00
Wim Taymans
116676e149
node: add active flag for rate match
...
Add flags to the rate match io area
Add flag to activate/deactivate rate match
Set active flag in rate match when slaved
Update rate before starting resample
2019-10-21 10:13:56 +02:00
Wim Taymans
f5b9862a89
alsa: tweak xrun recovery
...
Don't try to resync right after a xrun.
Init the dll after reslaving.
2019-10-18 22:53:02 +02:00
Wim Taymans
2e3608a34f
Improve some debug
2019-10-18 21:54:44 +02:00
Wim Taymans
c8ffcaaefe
plugins: just check the data pointer
...
We don't need to look at the data type, we just just be happy when
the data pointer is filled in.
2019-10-16 12:23:42 +02:00
Wim Taymans
b37bf7e068
alsa-seq: ask for more data when consumed
2019-10-16 10:44:40 +02:00
Wim Taymans
fb95e7660a
media-session: start the midi bridge from the session
2019-10-02 21:12:42 +02:00
Wim Taymans
0a6ad1adec
alsa: only emit PCM device when available
...
Only emit a PCM device if the device actually has one. Otherwise we
end up with a useless PCM device for a pure midi device.
2019-10-02 21:10:43 +02:00
Wim Taymans
93a2defbb8
alsa-seq: reset buffers
2019-10-02 18:02:40 +02:00
Wim Taymans
6e0ffb0c47
flags: change flag macros
...
SPA_FLAG_CHECK -> SPA_FLAG_IS_SET
SPA_FLAG_UNSET -> SPA_FLAG_CLEAR
Add SPA_FLAG_UPDATE
2019-10-02 18:00:42 +02:00
Wim Taymans
82ee139f65
spa: improve object properties
2019-10-01 10:04:22 +02:00
Wim Taymans
dc83c10c9a
media-session: add device reservation for alsa
...
Implement the device reservation DBus API.
When we acquire the device name, set our device profile to 'On'. This
adds our sources and sinks to the graph.
When we lose the name, switch back to 'Off' and remove our nodes
again.
Move the session mamager stuff in a directory.
Fixes #191
2019-09-30 21:51:46 +02:00
Wim Taymans
44840c4a55
alsa-seq: add some comments
2019-09-26 15:17:00 +02:00
Wim Taymans
f539b42a03
alsa: improve midi
...
Add some debug
Ignore ports without buffers.
2019-09-26 11:57:25 +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
197d2b15b6
alsa-pcm: small cleanups
2019-09-24 17:23:01 +02:00
Wim Taymans
db341a6450
improve properties on node and port
...
Rename some alsa filenames.
2019-09-23 20:51:34 +02:00
Wim Taymans
77e07e1948
improve properties on globals and ports
2019-09-20 13:28:06 +02:00
Wim Taymans
6756a3c8fc
monitor: remove monitor API and use device
...
Remove the monitor API, we can use the device API for it. Make sure
we support creating devices (like alsa) from another device (udev).
Use new object.id to store the object id in the object properties. Use
the port.id/node.id etc to make relations to other objects.
2019-09-20 13:04:14 +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
Wim Taymans
ab0d1b7fad
alsa: cleanups
...
Avoid getting the clock time just for debug.
Improve time at startup.
2019-09-19 16:55:02 +02:00
Wim Taymans
4381e79632
control: clean up some control includes
...
Remove control from channelmix, it's not used
Add control metadata
Add OSC control type
Improve some docs
2019-09-16 15:49:46 +02:00
Wim Taymans
8b85cc225e
rename HAVE/NEED_BUFFER -> HAVE/NEED_DATA
...
It is more generic and works with control-only ports as well
2019-09-16 12:55:23 +02:00
Wim Taymans
729dd1360a
alsa: don't set rate, it's set by the app
2019-09-05 17:05:20 +02:00
Wim Taymans
4a4fa57efc
alsa: handle target better
...
Rework how we handle the current device fill level and our desired
fill level so that we handle it more consistently.
2019-09-05 13:45:37 +02:00
Wim Taymans
88299ab225
alsa: add sync-id to properties
2019-09-05 13:18:56 +02:00
Wim Taymans
0eb2705766
alsa: fix read of second part of ringbuffer
2019-09-05 09:17:14 +02:00
Wim Taymans
1bbb144b59
alsa-utils: update the threshold also for capture
2019-08-30 17:32:56 +02:00