Выпуск Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сСрвСра PulseAudio 16.0

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сСрвСра 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ