W końcu wydano długo wyczekiwaną pierwszą wersję główną PipeWire, serwera multimedialnego i frameworka przeznaczonego do przesyłania i przetwarzania dźwięku w czasie rzeczywistym. Zachowano zgodność API i ABI z ALSA, PulseAudio i JACK. Zmian nie ma dużo, ale są one znaczące (w końcu to pierwsza wersja wydania).
Główne zmiany:
- Usunięto wyciek pamięci w memfd/dmabuf przy usuwaniu buforów podczas zamykania.
- Dodano obsługę konkurencyjnych wywołań jack_port_get_buffer(), ponieważ jest to używane w Ardour.
- Poprawione przedstawienie czasu (zmniejszone wahania) w ALSA przy użyciu IRQ.
- Wiele ulepszeń dokumentacji.
Inne zmiany:
PipeWire
- Teraz wszędzie przestrzegane jest PIPEWIRE_DLCLOSE, a pw_in_valgrind() zostało usunięte.
- Usunięto ostrzeżenie występujące przy próbie klienta do zmiany ignorowanych parametrów.
Moduły
- Usunięto potencjalny błąd segmentacji przy kopiowaniu struktur mix.
- Usunięto możliwe stany wyścigu w setrlimit w module-rt.
- Usunięto wyciek pamięci w filter-chain.
- Parametr rtp.prime ustawiony dla nadawców (ale nie dla odbiorców).
- Moduły ROC przeniesione na ROC 0.3.
SPA
- Dodano parametr opóźnienia w libcamera.
- Naprawiono niektóre ostrzeżenia podczas kompilacji.
- Zaktualizowano wtyczkę EVL.
Bluetooth
- Dodano kodek LC3 oraz poprawiono kompatybilność.
PulseAudio
- Naprawiono błąd w przesyłaniu zdarzeń przy zmianie stanu wyjścia lub źródła.
JACK
- Ulepszono pracę z transportem i czasem. Teraz używane są unikalne identyfikatory do tworzenia sekwencyjnych zrzutów aktualnego czasu i transportu.
- Usunięto enumerację nieużywanych parametrów portu.
- Zoptymalizowano ponowne użycie bufora.
Dokumentacja
- Dodano strony man dla pw-dump, pw-loopback, pipewire-pulse i modułów.
- Teraz strony man są tworzone przy użyciu Doxygen.
- Dodano dokumentację dla modułów PulseAudio.
Z inne zmiany można zauważyć dodanie wsparcia dla GNU/Hurd.
Źródło: linux.org.ru
