PipeWire es un nuevo framework multimedia de bajo nivel. Su objetivo es proporcionar captura y reproducción tanto de audio como de vídeo con una latencia mínima y soporte para aplicaciones basadas en PulseAudio, JACK, ALSA y GStreamer.
El demonio basado en este framework puede configurarse para ser tanto un servidor de audio (con capacidades PulseAudio y JACK) como un servidor de captura de vídeo. PipeWire también es compatible con contenedores como Flatpak y no depende de los grupos de usuarios de audio y vídeo. En su lugar, utiliza un modelo de seguridad similar a Polkit y pide permiso a Flatpak o Wayland para grabar la pantalla o el sonido.
Puede leer también | Ubuntu 22.10 : está cambiando a PipeWire de forma predeterminada y más
Cambios a la versión 1.0 en detalle:
Se ha corregido una fuga de memoria que se producía al cargar buffers durante el apagado. También se ha tenido en cuenta el procesamiento simultáneo de llamadas a jack_port_get_buffer(), ya que Ardour aparentemente lo hace. Mejorado el reporte de tiempo en ALSA, especialmente cuando se usan interrupciones, para asegurar menos jitter.
JACK:
Se ha realizado una mejora en el procesamiento de transporte y tiempo, utilizando IDs únicos para crear instantáneas consistentes del tiempo actual y del transporte. Se ha evitado listar parámetros de puerto que no se utilizan. Se ha optimizado la reutilización de buffers, y se ha implementado el manejo de llamadas concurrentes a jack_port_get_buffer() que practica Ardour (#3632).
Documentación:
Se han realizado numerosas mejoras en la documentación y se han añadido páginas de manual para pw-dump, pw-loopback, módulos, pipewire-pulse. Estas páginas de manual se crean ahora con Doxygen y se ha añadido documentación adicional para los módulos Pulse.
Módulos:
Se ha corregido la fuga anteriormente mencionada, así como un posible segfault al copiar estructuras mixtas. Se han evitado las condiciones de carrera y se ha corregido una fuga de memoria en la cadena de filtros. La configuración de rtp.ptime se realiza ahora para los transmisores y no para los receptores. Además, se han portado los módulos ROC a ROC 0.3.
Puede leer también | PipeWire 0.3.46 : lanza correcciones de errores críticos y más
API de plugin simple:
Aquí también se ha mejorado el informe de tiempo en ALSA, especialmente cuando se utilizan interrupciones. Se ha añadido una consulta de parámetros de latencia en libcamera, se han corregido algunas advertencias del compilador y se ha actualizado el plugin EVL.
Otros:
Se han realizado mejoras en el códec LC3 y en la compatibilidad con Bluetooth. Se ha implementado PIPEWIRE_DLCLOSE en todo el sistema y ahora se respeta, y se ha eliminado pw_in_valgrind(). También se ha corregido una advertencia que se producía cuando un cliente intentaba cambiar propiedades ignoradas.
Fuentes: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/1.0.0 más información: https://pipewire.org