O projeto PipeWire anunciou hoje o lançamento do PipeWire 1.4, uma atualização significativa para este popular servidor de código aberto, utilizado para gerenciar fluxos de áudio e vídeo, além de hardware, em sistemas Linux.
Entre as principais novidades do PipeWire 1.4, destacam-se o suporte à arquitetura RISC-V, a introdução de uma API de controle PipeWire JACK, reprodução DSD para o plug-in ALSA, um serviço de sistema para pipewire-pulse, além de suporte Bluetooth para links de transmissão BAP e para aparelhos auditivos via ASHA. Também foram adicionados um novo codec G722 e suporte a UMP (também conhecido como MIDI2).
Outras melhorias incluem compatibilidade com UCM split PCMs, suporte para WebRTC2, detecção de codecs EC958 a partir de dados HDMI ELD e uma nova API D-BUS de telefonia compatível com oFono. Além disso, há um novo plug-in de conversão de vídeo baseado em FFmpeg, suporte para soquetes abstratos no protocolo nativo e temporização PTP para fluxos RTP.
O PipeWire 1.4 também amplia as opções de configuração do módulo ROC, adiciona suporte à configuração de latência em loopback e raop-sink, permite a remoção e reinserção de buffers na fila em pw-stream, além de oferecer suporte à emissão de eventos nessa mesma funcionalidade. Agora, pw-cat também pode utilizar stdin e stdout.
Outras melhorias notáveis incluem novas funções auxiliares para análise de descrições JSON, aprimoramento das informações de clock no Video4Linux2 (V4L2), melhor gerenciamento de buffer pool e sincronização de taxa para elementos do GStreamer. Também há suporte para o módulo combine-stream, que permite a mistura de fluxos, e para conexão automática de fluxos no módulo netjack-manager.
Além disso, o código do gráfico module-filter-chain foi movido para um plug-in SPA filter-graph separado, diversas macros SPA foram convertidas em funções embutidas, o arquivo de configuração client-rt.conf foi removido e o resampler agora pré-calcula alguns filtros de conversão comuns.
O módulo SAP passou por otimizações para enviar atualizações SDP apenas quando houver mudanças. A criação dinâmica de fluxos pelo receptor VBAN foi implementada, aprimorando a detecção. Além disso, o servidor de pulso agora suporta regras para bloquear reprodução e captura em pulse.rules, enquanto a comunicação entre links recebeu melhorias na detecção e relatório de erros.
Por fim, o profiler foi atualizado para incluir o relógio dos seguidores, permitindo configurar o clock usado para registrar carimbos de data/hora. O analisador JSON foi segmentado em funções principais e auxiliares, foi adicionado um modo de espera à fonte RTP, as filas de invocação foram otimizadas e a documentação recebeu aprimoramentos.
O PipeWire é amplamente adotado como padrão para o gerenciamento de fluxos multimídia e hardware em diversas distribuições GNU/Linux. Ele também é utilizado para a manipulação de câmera no navegador Mozilla Firefox. A versão 1.4 do PipeWire já está disponível para download na página oficial do GitLab.