PipeWire — ΡΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ API PulseAudio, JACK ΠΈ ALSA.
ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ RC Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 1.0.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° jackdbus Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- ΠΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ IRQ Π² ALSA ΡΠ»ΡΡΡΠ΅Π½ΠΎ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»Ρ Pro Audio. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ pcm ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ JACK.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΡ , ΡΠ°ΠΊ ΠΈ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ webrtc-audio-processing Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°.
- Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π³ΡΠ°ΡΠ°, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π±ΠΈΡΡΠ΅ΠΉΡΠ°, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ·Π»Ρ Π°Π΄Π°ΠΏΡΠΈΡΡΡΡΡΡ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ·Π»ΠΎΠ² Pro Audio, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ IRQ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΠ°Π·Π±ΠΎΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ.
ΠΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
PipeWire
- Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠΈΡ EARLY_PROCESS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ·Π»Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°.
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π³ΡΠ°Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΡΡΠ΅ΠΉΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ Π±ΠΈΡΡΠ΅ΠΉΡΠ° Π² Π³ΡΠ°ΡΠ΅.
- Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ malloc_trim(), Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏΠ½Π°.
Π£ΡΠΈΠ»ΠΈΡΡ
- pw-cat ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°ΡΡ DFF ΠΈ DSD.
ΠΠΎΠ΄ΡΠ»ΠΈ
- Π RAOP ΡΠ΄Π΅Π»Π°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π΄Π²Π΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΡΠΈΠ»ΡΡΡΠΎΠ², ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈ ΠΌΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠΈΠ»Π΅Π½ΠΈΠ΅.
- Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠ° ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±ΡΡΠΌ ΠΏΠΎΡΠΎΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π³ΡΠ°ΡΠ΅.
- Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° Π³ΡΠΎΠΌΠΊΠΎΡΡΠΈ Π² RAOP.
PulseAudio
- ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ pending_stream.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ·Π΅Π» Π±ΡΠ» ΡΠ²ΡΠ·Π°Π½.
- Π‘Π½ΠΈΠΆΠ΅Π½ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ pulseaudio.
SPA
- Π’Π΅ΠΏΠ΅ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ALSA Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΡΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΎΠ±ΡΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΡΡΠ΅ΠΉΡΠΎΠ².
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GNU/Hurd!
Bluetooth
- Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ PipeWire Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Audio Gateway.
- ΠΠ΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Ρ BAP-ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ API Bluez.
JACK
- ΠΡΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° jack Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΡΠΈ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ LD_LIBRARY_PATH, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ±ΡΠΎΡΠ° Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΏΠΎΡΡΡ.
- Π’Π΅ΠΏΠ΅ΡΡ jack_property Π²ΡΠ΅Π³Π΄Π° ΡΡΠΏΠ΅Π²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru