ΠΠ°ΠΉ-Π½Π°ΠΊΡΠ°Ρ ΠΈΠ·Π»Π΅Π·Π΅ Π΄ΡΠ»Π³ΠΎΠΎΡΠ°ΠΊΠ²Π°Π½Π°ΡΠ° ΠΏΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° 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
