ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ· Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° PulseAudio 16.0, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. PulseAudio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π³ΡΠΎΠΌΠΊΠΎΡΡΡΡ ΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π²ΡΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅, ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ²ΠΎΠ΄ Π·Π²ΡΠΊΠ° ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΊΠ°ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π° Π»Π΅ΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΠΌΠ°Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠΎΠ΄ PulseAudio ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ LGPL 2.1+. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π² Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS ΠΈ Windows.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ PulseAudio 16.0:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠ΄ΠΈΠΎΠΊΠΎΠ΄Π΅ΠΊΠ° Opus Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π·Π²ΡΠΊΠ°, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ module-rtp-send (ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ PCM). ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Opus Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±ΡΠ°ΡΡ PulseAudio Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ GStreamer ΠΈ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ module-rtp-send Π½Π°ΡΡΡΠΎΠΉΠΊΡ «enable_opus=true».
- Π ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ/ΠΏΡΠΈΡΠΌΠ° Π·Π²ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· ΡΡΠ½Π½Π΅Π»ΠΈ (tunnel-sink ΠΈ tunnel-source) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° latency_msec (ΡΠ°Π½Π΅Π΅ ΠΆΡΡΡΠΊΠΎ Π²ΡΡΡΠ°Π²Π»ΡΠ»Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² 250 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄).
- Π ΠΌΠΎΠ΄ΡΠ»ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ/ΠΏΡΠΈΡΠΌΠ° Π·Π²ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· ΡΡΠ½Π½Π΅Π»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΡΠ²Π° ΡΠ²ΡΠ·ΠΈ. ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ reconnect_interval_ms.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΎΠ²Π½Π΅ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Bluetooth. Π£ΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π² Π²ΡΠ²ΠΎΠ΄Π΅ «pactl list» (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ bluetooth.battery).
- Π ΡΡΠΈΠ»ΠΈΡΡ pactl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. ΠΡΠ±ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΈ ‘—format’, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ text ΠΈΠ»ΠΈ json.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ΅ΡΠ΅ΠΎΠ²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π³Π°ΡΠ½ΠΈΡΡΡ EPOS/Sennheiser GSP 670 ΠΈ SteelSeries GameDAC, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ALSA-ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΡΡΠ΅ΡΠ΅ΠΎ ΠΈ ΠΌΠΎΠ½ΠΎ (ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΠΌΠΎΠ½ΠΎ).
- Π Π΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΈΡΠΌΠΎΠΌ Π·Π²ΡΠΊΠ° ΡΠΎ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΊΠ°ΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠΏΠ° Texas Instruments PCM2902.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 6-ΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ Native Instruments Komplete Audio 6 MK2.
- Π Π΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ ΡΠΎΡΠ½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π·Π²ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· ΡΡΠ½Π½Π΅Π»ΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ combine-sink.
- Π ΠΌΠΎΠ΄ΡΠ»Ρ module-loopback Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ adjust_threshold_usec Π΄Π»Ρ ΡΠΎΠ½ΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² 250 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° adjust_time, ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΎ Ρ 10 Π΄ΠΎ 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0.5). ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠ΅ΠΉ log_interval.
- Π ΠΌΠΎΠ΄ΡΠ»Ρ module-jackdbus-detect, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ/ΠΏΡΠΈΡΠΌΠ° Π·Π²ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· JACK, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ sink_enabled ΠΈ source_enabled Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠΌΠ° Π·Π²ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· JACK. Π’Π°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ JACK.
- Π ΠΌΠΎΠ΄ΡΠ»Ρ module-combine-sink Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ remix Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΊΠ°ΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ½ΠΎΠ³ΠΎ Π·Π²ΡΠΊΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru