Wim Taymans
2df10d1a40
channelmix: reset the volume if the channels changed.
2020-09-29 12:02:37 +02:00
Wim Taymans
f70d0b19af
channelmix: add option to NORMALIZE volumes
...
Normalize the complete matrix with the same coefficient
2020-09-29 12:02:34 +02:00
Wim Taymans
700a0aa35c
Fix FLC+FRC to FL+FR
2020-09-29 12:02:30 +02:00
Wim Taymans
df3394a694
add some more debug
2020-09-29 12:02:25 +02:00
Wim Taymans
62ef0145c3
pulse: limit get_writable_size()
...
Try to limit the amount of data we can write. Fixes chrome playback.
2020-09-29 09:57:16 +02:00
Wim Taymans
81ca70af9b
alsa-monitor: avoid crash in release
...
Only try to release the device when we have a proxy.
Fixes #310
2020-09-28 18:23:23 +02:00
Wim Taymans
d7714f734d
0.3.13
2020-09-28 16:08:10 +02:00
Wim Taymans
5dedf483bb
pulse: fix load_module
2020-09-28 16:05:10 +02:00
Wim Taymans
588a946311
pulse: don't use queued_bytes for queue fill level
...
The queued bytes are already included in the read/write index.
2020-09-28 13:09:47 +02:00
Wim Taymans
08438903e5
acp: reset soft volume
...
When we have accurate enough hardware volume, set the software volume to
1.0. Also fixes the issue of going to 0 volume and then staying silent
until we raise the volume above 1.0.
2020-09-28 12:40:16 +02:00
Wim Taymans
479bf3c803
fmtconvert: fix debug line
2020-09-28 11:47:16 +02:00
Wim Taymans
d13181fb37
acp: prefer some other profile than Off
...
The Off profile is always available but we should only use it as the
ultimate fallback when all other profiles are NO.
Fixes #309
2020-09-28 11:39:09 +02:00
Wim Taymans
a97287351c
acp: use flag for the Off profile
2020-09-28 11:32:36 +02:00
Wim Taymans
9f1d84e37c
v4l2: in alloc buffer, don't mmap, just pass the fd
...
If we can't use EXPBUF, just put the fd and mapoffset in the buffer
memory. This way we can pass the fd to the client and let it mmap .
2020-09-27 17:07:29 +02:00
Wim Taymans
59990ea049
v4l2: fall back to mmap when EXPBUF fails
...
If EXPBUF returns and error, try to mmap instead.
Fixes #294
2020-09-27 16:30:51 +02:00
Wim Taymans
cce8f3fb08
v4l2: improve debug
2020-09-27 16:30:06 +02:00
Wim Taymans
79fbddb838
stream: handle out of buffers port
...
If the port was out of buffers and we can't recycle a buffer, return
-EPIPE.
2020-09-25 18:24:29 +02:00
Wim Taymans
013e94ee4e
audioadapter: propagate errors from the follower
2020-09-25 18:24:04 +02:00
Wim Taymans
c2fc8423eb
jack: move metadata to exports file
...
So that we don't have to depend on the header file.
Fixes #306
2020-09-25 17:39:26 +02:00
Wim Taymans
fffe94771f
pulse: fix fragsize
...
Don't round up, we give to the app what we get and use the fragsize
always when recording.
2020-09-25 17:24:05 +02:00
Wim Taymans
a79d1fc866
pulse: tweak buffer attributes some more
...
Seems to work well with vlc and firefox other apps now.
paplay without ADJUST_LATENCY reports wrong latency still.
2020-09-25 17:06:46 +02:00
Wim Taymans
d2d722efb3
node: add an ASYNC flag
...
The flag means that the process function might not complete
synchronously.
We can use this knowledge to improve the adapter. In sync mode we
can pull before scheduling the converter. In async mode we need to
schedule the follower after the converter to get the data ready for
the next iteration.
We can also improve the stream when it is operating async to schedule
a process call when a new buffer is ready to be filled.
This reduces a cycle latency from alsa and improves latency in
pulse.
2020-09-25 17:02:54 +02:00
Wim Taymans
9dfd261c71
add some more debug info
2020-09-25 17:01:52 +02:00
Wim Taymans
8bb4b91e74
stream: present less writable bufferspace
...
firefox likes that better
2020-09-24 19:25:37 +02:00
Wim Taymans
9d694b7b38
stream: tweak the timings and buffer attributes
...
Use tlength as the latency.
Round attributes to frame size
Only use the delay in get_time().
Tweak queued, writable and required bytes for callbacks.
2020-09-24 17:57:10 +02:00
Wim Taymans
abf268d168
stream: tweak the timings and buffer attributes
...
Use tlength as the latency.
Round attributes to frame size
Only use the delay in get_time().
Tweak queued, writable and required bytes for callbacks.
2020-09-24 17:28:30 +02:00
Wim Taymans
584ae678c6
audioadapter: improve the processing loop
...
Handle the case where the converter in a source needs more output
buffers (-EPIPE). Schedule the follower in that case and try to
run the converter again until we have output or we can't make progress
anymore.
If the converter needs more data, schedule the follower before we
exit the loop with the data. This gives the follower a chance to get
more data asynchronously for the next iteration.
2020-09-24 17:18:47 +02:00
Wim Taymans
9dc1c3b168
stream: improve the input process loop
...
Only try to reuse a buffer when the io area is not already in
the NEED_DATA state or else we might overwrite a previous buffer
reuse and run out of buffers.
We also always need more input.
2020-09-24 17:15:47 +02:00
Wim Taymans
1cccaaa2bd
merger: we always consume all input
...
Even when we only have empty input buffers
2020-09-24 16:57:15 +02:00
Wim Taymans
6bc3b1b764
audioconvert: fix Buffers param debug
2020-09-24 11:53:10 +02:00
Wim Taymans
c6358c4ed5
alsa: add and install spa-acp-tool
2020-09-23 11:37:53 +02:00
Wim Taymans
28f60eaf6f
spa: install the spa-resample tool
2020-09-23 11:37:16 +02:00
Wim Taymans
61523d383a
tools: add pw-reserve to reverse and monitor a device
2020-09-23 10:24:06 +02:00
Wim Taymans
f4bf7bc7e6
media-session: don't emit busy when we are acquiring
2020-09-23 10:22:22 +02:00
Wim Taymans
136f556d79
jack: lock for accessing the globals
2020-09-22 13:10:58 +02:00
Wim Taymans
3f844f7b09
media-session: make the same node name as PulseAudio
...
Fixes #299
2020-09-22 12:59:13 +02:00
Wim Taymans
66cc13cc56
acp: update properties correctly
...
After modifying the properties, update the exported dictionary again
because the memory might have changed.
Fixes #304
2020-09-22 12:40:21 +02:00
Wim Taymans
a4e079e1cb
media-session: guard against invalid input
...
See #304
2020-09-22 12:39:39 +02:00
Wim Taymans
cf2c32f0a9
alsa: rework device reservation
...
Always try to first reserve the device name and then start the probing
so that we can be sure that the device is not in use.
2020-09-21 15:23:36 +02:00
Wim Taymans
2b8568e14f
reserve: don't call busy/available when we are the owner
...
Also ignore acquired from our other devices.
2020-09-21 14:35:32 +02:00
Wim Taymans
cc470c048b
reserve: improve debug
2020-09-21 14:35:08 +02:00
Wim Taymans
392eff4628
audioconvert: debug stride as well
2020-09-21 11:21:15 +02:00
Wim Taymans
995cf66f92
pulse: don't go lower than 8 samples per minreq
2020-09-21 11:21:15 +02:00
Wim Taymans
c4aec3ef4e
doc: fix typo
2020-09-19 13:34:33 +02:00
Wim Taymans
7a2741c9e1
v4l2: do TRY_FMT on the filter format
...
Do a TRY_FMT on the filter format before enumerating the sizes with it
because some drivers don't check the format anymore.
Fixes #294
2020-09-19 13:32:47 +02:00
Arun Raghavan
2c8e2f3a36
reserve: Fix check for whether acquire succeeded or not
...
We only deem success if we successfully became the primary name owner.
2020-09-19 11:02:04 +00:00
Arun Raghavan
272624fe83
alsa-monitor: Don't ignore device reservation failure
...
We were ignoring the reservation status, which is incorrect as we might
not have succeeded in grabbing the device.
2020-09-19 11:02:04 +00:00
Arun Raghavan
2acfa0ee10
alsa-monitor: Lower our device reservation priority
...
For now, let's lower our priority in device reservation below that of
PulseAudio (which currently uses a priority of 0), so that it takes
priority while contending for the same device.
2020-09-19 11:02:04 +00:00
Richard
4be4a0b250
Update overview.md
2020-09-19 10:56:51 +00:00
Wim Taymans
99b3f4a67f
README: fix some errors
2020-09-18 20:53:06 +02:00