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
92d5c179d6
tests: set the samplerate in the format
...
This works for now without a samplerate because we ignore it but
it might not in the future..
2019-10-18 21:51:07 +02:00
Wim Taymans
566640a21b
audioadapter: fix switch between master and slave
...
When we get worken up with a callback, mark ourselves as a master
because we then need to avoid running the converter again in the
process callback. After we perform the process callback, unmark
ourself as master and wait for the next cycle.
This fixes switch from master to slave for sources.
2019-10-18 21:47:37 +02:00
Wim Taymans
e2f6a7a34e
audiomixer: add AVX optimized mixer functions
2019-10-17 09:36:18 +02:00
Wim Taymans
d8eb7ce81f
audioconvert: fix avx flags
2019-10-17 09:35:24 +02:00
Wim Taymans
7798cf7364
core: improve alignment
...
Use the CPU alignment to align memory of allocated buffers. This makes
it more likely that all CPU optimizations can be done.
2019-10-17 09:34:27 +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
8899d00bfc
control: add control mixer plugin
...
Add a mixer plugin for control messages and plug it in ports with
control messages.
2019-10-16 11:13:23 +02:00
Wim Taymans
e0f79bcbb8
io: add some more docs and memory io area
2019-10-16 11:10:57 +02:00
Wim Taymans
b37bf7e068
alsa-seq: ask for more data when consumed
2019-10-16 10:44:40 +02:00
Wim Taymans
6ad52b1a11
iter: check if size can hold a spa_pod
2019-10-16 10:44:12 +02:00
Wim Taymans
9d842fb5eb
improve debug and error reporting
2019-10-08 22:33:31 +02:00
Wim Taymans
9aadc753c0
type: add missing type-info for MemId
2019-10-08 22:30:00 +02:00
Wim Taymans
5693d72fcb
audioadapter: expose parameter in port_info
2019-10-03 16:23:23 +02:00
Wim Taymans
0ecbe4844e
mixer: Move floatmix to the audio mixer plugin
...
Move floatmix to the audiomixer plugin and change the name to
AUDIO_MIXER_DSP.
Add runtime selectable sse and sse2 optimizations.
Load the port mixer plugin dynamically based on the factory_name.
Add some more debug
2019-10-03 16:20:12 +02:00
Wim Taymans
27eabede35
volume: fix build
2019-10-03 09:38:41 +02:00
Wim Taymans
36904e1612
dict: add function to sort
2019-10-03 09:31:34 +02:00
Wim Taymans
1f700e7cdd
dict: add SORTED flag and faster lookup in that case
2019-10-03 09:29:51 +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
e04d58ee3a
Improve some debug
2019-10-02 18:02:07 +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
f59a43a4f0
v4l2: improve is_capture check
2019-10-01 10:13: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
990ecd20c5
vulkan: handle older versions
...
Fixes #183
2019-09-27 10:53:36 +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
d3c7acb137
iter: add helper to parse pod from memory region
2019-09-19 13:17:48 +02:00
Wim Taymans
322ccb452c
small cleanups
2019-09-19 13:17:30 +02:00
Wim Taymans
59bf522ce1
system: use the same bits as POLL and EPOLL
...
Use the same bits for the io mask as POLL and EPOLL so that we
can avoid conversions.
2019-09-19 13:15:38 +02:00
Wim Taymans
49a5e97d69
format: add application/control media type
...
Add a new application/control media type that can be used to negotiate
control streams between ports.
2019-09-16 21:09:52 +02:00
Wim Taymans
565f0475f0
tests: update test
2019-09-16 21:08:03 +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
2d8bce7479
names: add vulkan compute source factory name
2019-09-10 12:38:25 +02:00
Julian Bouzas
ddd2a97f7e
bluez: set bluez profile property when emitting node
...
We need to expose the bluetooth profile in the nodes so that external
applications know how to handle them.
2019-09-10 10:42:11 +02:00
Wim Taymans
9c9bff8fe9
data-loop: add _wait function
...
Add function to wait for one iteration of the loop. This can be used
by specialized implementations of the data loop, like jack.
2019-09-09 17:17:03 +02:00