PipeWire è un server multimediale progettato per l'uscita e l'elaborazione di flussi audio e video in tempo reale. Per i client è prevista la compatibilità con le API PulseAudio, JACK e ALSA.
La nuova versione è il primo RC per la versione 1.0.
Modifiche principali
- Il supporto per jackdbus è abilitato di default.
- Il scheduling basato su IRQ in ALSA è stato migliorato ed è attivato di default per il profilo Pro Audio. Inoltre, ora i pcm sono collegati tra loro per ridurre i ritardi, in linea con il comportamento di JACK.
- È stata implementata la compatibilità sia con le versioni più vecchie che con quelle più recenti di webrtc-audio-processing per facilitare la transizione.
- Ora la modifica forzata del campionamento da parte dei nodi o dei metadati comporta anche la sospensione e la ripresa forzata del grafo, proprio come nel caso di una modifica del bitrate, per garantire che tutti i nodi si adattino al nuovo campionamento. Questo è importante per i nodi Pro Audio che necessitano di riconfigurare l'hardware per il nuovo periodo nel scheduling basato su IRQ.
- È stato corretto un errore nel parsing delle espressioni regolari.
- Numerosi piccoli aggiornamenti e miglioramenti.
Altre modifiche
PipeWire
- Ora il flusso ha l'opzione EARLY_PROCESS, che può essere utilizzata per implementare un proprio riempimento del buffer.
- Corretta l'errore nella determinazione della posizione del nodo del driver.
- La rimozione dei link ora ricalcola correttamente il grafico.
- Corretto il confronto dei bit rate per determinare il bit rate migliore nel grafico.
- Ora viene utilizzata la funzione malloc_trim() per liberare memoria, se disponibile.
Utilità
- pw-cat ora supporta i formati DFF e DSD.
Moduli
- Sono stati fatti alcuni miglioramenti in RAOP. Ora ogni due secondi vengono interrogati i dispositivi per mantenerli in stato di funzionamento.
- Corretto un errore nella catena di filtri, che non applicava il preamplificatore quando veniva miscelata solo una sorgente.
- Ora la catena di filtri può trasmettere il volume del flusso agli elementi di controllo nel grafico.
- Migliorata la regolazione del volume in RAOP.
PulseAudio
- Alcune correzioni nella gestione del pending_stream.
- Corretto un errore nel codice di invio degli eventi, che impediva l'invio dell'evento di cambiamento quando il nodo era collegato.
- Abbassato il priorità dei client in tempo reale di pulseaudio.
SPA
- Ora il driver ALSA sincronizza tutti i follower direttamente dall'evento di risveglio. Questo consente di ottenere un migliore allineamento dei bit rate.
- Aggiunta la supporto per GNU/Hurd!
Bluetooth
- Migliorato il funzionamento dei codec utilizzando PipeWire come Audio Gateway.
- Adattati i dispositivi BAP al nuovo API Bluez.
JACK
- Se la libreria jack è nel percorso delle librerie predefinite, evita di utilizzare LD_LIBRARY_PATH, poiché ciò potrebbe causare problemi.
- Implementata la gestione del reset del ritardo ai valori predefiniti sulla porta.
- Ora jack_property riesce sempre a modificare i metadata, poiché attende i bypass prima dell'uscita.
Fonte: linux.org.ru
