O servidor de áudio PipeWire 0.3.71 é lançado com diversas melhorias de desempenho, zero Latency JACK D-Bus Bridg e correções de bugs.
PipeWire 0.3.71 Lançado com melhorias de desempenho
PipeWire é um servidor para lidar com streams de áudio e vídeo e hardware no Linux. Foi criado por Wim Taymans da Red Hat. Ele lida com roteamento de multimídia e processamento de pipeline. Alguns de seus objetivos são: Trabalhar com aplicativos Flatpak em sandbox. WikipédiaO anúncio foi feito em 17 de Maio de 2023.
"Esta é uma versão de correção de bug compatível com API e ABI com versões anteriores
versões 0.3.x."
Destaques
- Uma nova ponte jackdbus de latência zero foi adicionada. Isso funciona de maneira semelhante ao que
- O PulseAudio tem a oferecer e cria um coletor/fonte quando o jackdbus é iniciado. No entanto, é muito mais eficiente e executa o PipeWire completo gráfico como um cliente JACK síncrono sem adição de latência.
- Muitas melhorias de desempenho. A ativação de nós remotos é mais eficiente, menos eventfds são necessários nos clientes, menos retorno de chamada sobrecarga em caminhos críticos de desempenho e uma função de pesquisa otimizada foi adicionado. Isso foi impulsionado principalmente pelo módulo jackdbus para obter o menor sobrecarga possível ao executar o gráfico.
- A implementação do callback de notificação do JACK foi retrabalhada para emular melhor o que JACK faz, melhorando a compatibilidade com ardor7 e o teste de estresse JACK.
- Mais trabalho em dispositivos BAP. A latência do dispositivo agora é passada para aplicações também para fones de ouvido com vários dispositivos e alocação de canais é melhor tratado.
- Muitas outras melhorias e correções de bugs.
PipeWire
- Remova o limite codificado em io_areas. Isso é usado para vincular os nós e buffers de troca, foi limitado a 2048, mas agora escala dinamicamente com base em requisitos.
- As alterações de taxa e quantum agora são aplicadas corretamente em mais casos. (#3159)
- Atualizações no nó cliente para processar o driver com mais eficiência.
- As informações do criador de perfil foram aprimoradas para serem mais precisas. Deveria agora funcionam melhor para drivers remotos.
- Alguns possíveis erros de mapa de memória foram corrigidos no protocolo porque em alguns caso com mensagens grandes, alguns fds foram fechados cedo demais. pw-filter agora implementa o método pw_filter_set_active().
- Um possível caso de falta de buffer foi corrigido na captura de fluxos de pw em que os buffers não foram movidos para a fila de reciclagem quando o nó foi suspenso.
- Os nós agora são sempre ativados com o eventfd. Anteriormente havia algumas otimizações no servidor para chamar diretamente o processo do nó função, mas essa otimização não é necessária. Sem essa otimização agora é possível executar nós em diferentes threads.
- O gatilho pw-stream agora é implementado corretamente em todos os casos.
- Os nós remotos agora usam um eventfd a menos porque são acionados com o nó eventfd diretamente.
- As portas do monitor agora são ignoradas nas atualizações de latência.
- Uma corrida potencial ao relatar um erro a um cliente foi corrigida. (#3192)
- Correção de um bug em que os nós always_process às vezes ficavam ociosos. (#3189)
- Otimize a ativação de pares. Os nós agora são ativados com mais eficiência e independente do número de links. Também reduz o número de eventfds e memória em clientes remotos.
- Um bug na serialização de propriedade foi corrigido. Valores com espaços só serialize a primeira parte do valor.
Módulos
- Manuseie corretamente o fallback do método init do plugin echo-canceler. O samplerate não foi configurado corretamente. Esta é apenas uma regressão para pessoas que possuem plug-ins externos de cancelamento de eco.
- O coletor RAOP agora apenas define o volume na extremidade remota quando o fluxo é gravação. (#3175)
- A descoberta do RAOP agora tenta desduplicar as entradas do mesmo host.
- Uma nova ponte jackdbus de latência zero foi adicionada. Isso funciona de maneira semelhante ao que pulseaudio tem a oferecer e cria um coletor/fonte quando o jackdbus é iniciado. No entanto, é muito mais eficiente e executa o PipeWire completo gráfico como um cliente JACK síncrono.
- O módulo de acesso usa uma maneira mais segura de verificar o aplicativo
- executável.
- module-combine-stream agora tem atraso e latência configuráveis para cada fluxo. Isso pode ser usado para alinhar coletores/origens com diferentes latências.
- Uma possível falha no túnel de pulso do módulo foi corrigida ao desligar.
- (#3199)
- Module-rt agora irá limitar o valor nice ao valor mínimo permitido para evitar
- erros do rtkit. (#3186)
- Corrija um bug com os contadores de sessão em module-rtp-sap. Use também o direito formato para L24. Melhore a configuração de exemplo AES67.
- Melhore algumas mensagens de aviso e informações no módulo-rt. (#3194) module-rtp session agora deve fazer algo quando iniciado sem argumentos.
- Uma possível falha no módulo rtp-session foi corrigida. (#3217) module-filter-chain tem melhor relatório de erros quando um convolver não consegue carregar. (#3223)
SPA
- Mova algumas coisas para evitar avisos do compilador. (#3171)
- Aumente as portas do mixer. Reorganize algumas coisas e melhore as portas de entrada do mixer de 128 a 512.
- Corrija uma possível falha quando um nó é agendado antes de ser concluído a configuração.
- O coletor JACK e os plug-ins SPA de origem tiveram algumas melhorias.
- Permita o reamostrador de picos ainda se desabilitarmos o reamostragem.
- Realize mais limpeza no adaptador de áudio quando houver erro.
- Uma implementação otimizada de loop não cancelável foi adicionada.
- Callbacks foram otimizados com uma varsão _fast() que não verifica o versão e método. Quando esta verificação é realizada anteriormente, pode ser ignorado em locais críticos de desempenho.
- Alguns dos retornos de chamada e métodos do sistema agora estão usando a função rápida chamadas em caminhos críticos.
- Uma divisão potencial por zero foi corrigida nos plugins ALSA.
- Melhore a taxa e o quantum ao iniciar a conversão de áudio.
- Torne possível substituir o node.driver no driver de áudio nulo do SPA. (#3220)
Servidor de pulso
- A análise de parâmetros de informações de áudio foi refatorada e aprimorada.
- Corrija algumas corridas com clientes saindo ao reproduzir amostras.
- Uma opção foi adicionada para alterar ou desabilitar o registro do nome dbus. (#2987)
Bluetooth
- Implemente relatórios de bateria usando AT+XEVENT.
- Desative o volume do hardware para 3M WorkTunes.
- Implemente localizações de áudio BAP (posições de canal) usando o novo propriedades bluez.
JACK
- Corrija alguns erros relatados pelo JACK test.cpp. (#2638)
- Adicionada a opção jack.show-midi para mostrar/ocultar as portas midi.
- Adicione a opção jack.max-client-ports. JACK também tem um limite de porta e assim
- O PipeWire também precisa dele para fazer os testes felizes.
- Chame o retorno de chamada de desligamento somente quando o servidor for interrompido, não quando houver é um erro aleatório. (#3070)
- Evite registrar o mesmo nome de porta duas vezes.
- Callbacks de registro de porta de chamada em ativar/desativar.
- Melhore jack_port_connected().
- Melhorar alguns relatórios de erros.
- Os cabeçalhos JACK foram atualizados para uma versão mais recente.
- Callbacks JACK agora são gerenciados com uma fila de eventos para simular mais o que JACK faz. Isso evita a emissão de callbacks quando um método está bloqueando para uma resposta e causando impasses. (#3183)
- Atribua nomes exclusivos a clientes JACK. (#2833)
- Corrige uma possível falha quando o thread_utils foi usado depois de gratuito.
- Aliases agora não são preenchidos por padrão para melhorar a compatibilidade do JACK. (#3154)
ALSA
- O plug-in ALSA agora aguardará a conclusão da negociação ou um erro antes que _prepare() seja concluído. Isso faz com que mais aplicativos tratem corretamente com os possíveis erros.
Documentos
- Um novo documento sobre como o agendamento é implementado foi adicionado.
- Atualize a página man pw-cli. (#2988)
- Documente a serialização do SPA Pod.
- Documente o protocolo nativo PipeWire.
O PipeWire já está sendo usado em substituição ao Pulse Audio em
varias distribuições de pacotes GNU/Linux,confira se a sua já o tem por
padrão com o comando no terminal.
pactl info
Matérias úteis para Pipewire.
Ativar o modulo de escuta loopback no PipeWire-Pulse da sua distribuição Linux
Confira nessa matéria como ativar o Loopback ou Mixer de som na sua distribuição Linux que usa o servidor de áudio PipeWire-Pulse, muito útil para APPs como OBS, SSR e similares.
EasyEffects para servidor de áudio PipeWire no Linux
EasyEffects é destinado servidor de áudio PipeWire. Uma ferramenta avançada de manipulação de áudio, inclui equalizador, limitador, compressor, ferramenta de reverberação e muito mais, confira.
Comentários
Postar um comentário
olá, seja bem vindo ao Linux Dicas e suporte !!