ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ, Π²ΡΡΠ»Π° Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½Π°Ρ ΠΏΠ΅ΡΠ²Π°Ρ ΠΌΠ°ΠΆΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ PipeWire, ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΠΎ API ΠΈ ABI Ρ ALSA, PulseAudio ΠΈ JACK. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ (ΠΊΠ°ΠΊ-Π½ΠΈΠΊΠ°ΠΊ, Π° ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ΅Π»ΠΈΠ·Π½Π°Ρ Π²Π΅ΡΡΠΈΡ).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² memfd/dmabuf ΠΏΡΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ΅ Π±ΡΡΠ΅ΡΠΎΠ² ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² jack_port_get_buffer(), ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Ardour.
- Π£Π»ΡΡΡΠ΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΡΠΌΠ΅Π½ΡΡΠ΅Π½Ρ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ) Π² ALSA ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ IRQ.
- ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
PipeWire
- Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅Π·Π΄Π΅ ΡΠΎΠ±Π»ΡΠ΄Π°Π΅ΡΡΡ PIPEWIRE_DLCLOSE, ΠΈ ΡΠ΄Π°Π»Π΅Π½Π° pw_in_valgrind().
- Π£Π΄Π°Π»Π΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅Π΅ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
ΠΠΎΠ΄ΡΠ»ΠΈ
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡ mix.
- Π£ΡΡΡΠ°Π½Π΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ Π² setrlimit Π² module-rt.
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² filter-chain.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ rtp.prime ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ (Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ).
- ΠΠΎΠ΄ΡΠ»ΠΈ ROC ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ROC 0.3.
SPA
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² libcamera.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
- ΠΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΏΠ»Π°Π³ΠΈΠ½ EVL.
Bluetooth
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠ΄Π΅ΠΊ LC3, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
PulseAudio
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°.
JACK
- Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΠΎΠΌ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ½Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°.
- Π£Π±ΡΠ°Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΡΡΠ°.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ man-ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ pw-dump, pw-loopback, pipewire-pulse ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
- Π’Π΅ΠΏΠ΅ΡΡ man-ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Doxygen.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PulseAudio.
ΠΠ· Π΄ΡΡΠ³ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ GNU/Hurd.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru