Została wydana wersja serwera dźwiękowego PulseAudio 16.0, który działa jako pośrednik między aplikacjami a różnymi niskopoziomowymi systemami dźwiękowymi, abstrakując pracę z urządzeniem. PulseAudio umożliwia zarządzanie głośnością i miksowaniem dźwięku na poziomie poszczególnych aplikacji, organizowanie przyjmowania, miksowania i wyprowadzania dźwięku przy obecności kilku wejść i wyjść lub kart dźwiękowych, pozwala na bieżąco zmieniać format strumienia dźwiękowego oraz korzystać z wtyczek, umożliwia przezroczyste przekierowanie strumienia dźwiękowego na inne urządzenie. Kod PulseAudio jest rozpowszechniany na zasadach licencji LGPL 2.1+. Wspierane są systemy Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS oraz Windows.
Kluczowe ulepszenia PulseAudio 16.0:
- Dodano możliwość użycia kodeka audio Opus do kompresji dźwięku przesyłanego za pomocą modułu module-rtp-send (wcześniej wspierany był tylko PCM). Aby włączyć Opus, należy zbudować PulseAudio z obsługą GStreamer i ustawić w module module-rtp-send opcję „enable_opus=true”.
- Do modułów przesyłania/odbierania dźwięku przez tunele (tunnel-sink i tunnel-source) dodano możliwość ustawienia opóźnienia za pomocą parametru latency_msec (wcześniej opóźnienie wynosiło sztywno 250 mikrosekund).
- W modułach przesyłania/odbierania dźwięku przez tunele zapewniono wsparcie dla automatycznego ponownego łączenia w przypadku utraty połączenia. Aby włączyć ponowne łączenie, należy ustawić opcję reconnect_interval_ms. serwerem Dodano wsparcie do przekazywania aplikacjom informacji o poziomie naładowania akumulatora urządzeń audio z interfejsem Bluetooth. Poziom naładowania wyświetlany jest także wśród właściwości urządzenia przedstawianych w wyniku „pactl list” (właściwość bluetooth.battery).
- Do narzędzia pactl dodano opcję wyjścia informacji w formacie JSON. Wybór formatu realizowany jest za pomocą opcji ‘—format’, która może przyjmować wartości text lub json.
- Dodano wsparcie dla wyjścia stereo przy użyciu zestawów słuchawkowych EPOS/Sennheiser GSP 670 i SteelSeries GameDAC, dla których stosowane są oddzielne urządzenia ALSA dla stereo i mono (wcześniej wspierane było tylko urządzenie mono).
- Rozwiązano problemy z odbieraniem dźwięku z kart dźwiękowych opartych na chipsecie Texas Instruments PCM2902.
- Dodano wsparcie dla 6-kanałowej zewnętrznej karty dźwiękowej Native Instruments Komplete Audio 6 MK2.
- Dodano wsparcie dla 6-kanałowej zewnętrznej karty dźwiękowej Native Instruments Komplete Audio 6 MK2.
- Rozwiązano problemy z synchronizacją i dokładnością określania opóźnień podczas przesyłania dźwięku przez tunele i moduł combine-sink.
- Do modułu module-loopback dodano parametr adjust_threshold_usec do precyzyjnego dostrajania algorytmu zarządzania opóźnieniami (domyślnie używane jest opóźnienie wynoszące 250 mikrosekund). Wartość domyślna parametru adjust_time została zmniejszona z 10 do 1 sekundy, dodano możliwość ustawienia wartości mniejszych niż jedna sekunda (na przykład 0.5). Prowadzenie logu korekcji prędkości odtwarzania jest domyślnie wyłączone i teraz regulowane oddzielną opcją log_interval.
- Do modułu module-jackdbus-detect, stosowanego do aktywacji przesyłu/odbioru dźwięku przez JACK, dodano parametry sink_enabled i source_enabled do selektywnego włączania tylko przesyłu lub odbioru dźwięku przez JACK. Zezwolono również na ponowne załadowanie modułu w celu jednoczesnego używania różnych konfiguracji JACK.
- Do modułu module-combine-sink dodano parametr remix do wyłączenia remixowania kanałów, co może być konieczne przy używaniu kilku kart dźwiękowych do tworzenia jednego przestrzennego dźwięku.
Źródło: opennet.ru
