Π’Ρ‹ΡˆΠ΅Π» PipeWire 1.0.0

НаконСц-Ρ‚ΠΎ, Π²Ρ‹ΡˆΠ»Π° долгоТданная пСрвая маТорная вСрсия 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