Commit Graph

6 Commits

Author SHA1 Message Date
Lars Immisch
67adbf0524 Add a (naive) loopback implementation (#132)
* WIP

* Implement alsapcm_polldescriptors_revents and alspcm_avail

* Open/close the playback device when idle.

It takes a long time until it's stopped, though.

* open/close logic of playback device

* Fix opening logic, make period size divisible by 6

* Be less verbose in level info

* Extra argument for output mixer card index

Sometimes, this cannot be deduced from the output device

* Better silence detection

* Run run_after_stop when idle on startup
2023-09-12 21:04:02 +02:00
Lars Immisch
d3bb44517d Small improvement to VolumeForwarder 2023-06-01 15:29:45 +01:00
Lars Immisch
c3dba90ff2 Refactor. SCNR.
The Reactor now takes a callable, and the loopback and volume forwarder are now
implemented as callable instances, which seemed the most Pythonic solution.
2023-06-01 15:16:42 +01:00
Lars Immisch
e3ec2d1628 Better error logging and comments 2023-05-31 20:00:16 +01:00
Lars Immisch
a66cf02a4c Add volume control forwarding.
This needs the patches from (probably) https://lkml.org/lkml/2021/3/1/419. They are already in the raspberry OS kernel sources and the setup works on a RPi 4
2023-05-30 16:21:53 +01:00
Lars Immisch
8f7e8fbdfe Add a naive loopback implementation using select.poll()
It does work, though.
2023-05-30 14:07:40 +01:00