Llega la primera version estable de PipeWire 1.0 y estas son sus mejoras
Después de poco más de tres semanas desde el último lanzamiento (0.3.85) por fin se ha dado a conocer el lanzamiento de la versión estable del servidor multimedia PipeWire 1.0, marcando la madurez del proyecto. Cabe mencionar que esta nueva versión 1.0 es compatible con la rama 0.3 anivel de API y ABI.
Para aquellos que desconocen de PipeWire, deben saber que es un importante sucesor del servidor de audio PulseAudio y la gran diferencia con su predecesor, es que PipeWire va un paso más allá al incorporar herramientas especializadas para administrar transmisiones de video, manejar audio con latencia mínima y aplicar nuevos modelos de seguridad para el control de acceso a nivel de dispositivo individual y transmisión.
PipeWire es una API de servidor y espacio de usuario para gestionar canalizaciones multimedia. Esto incluye:
- Poner a disposición fuentes de vídeo (como desde dispositivos de captura o transmisiones proporcionadas por una aplicación) y multiplexarlas con los clientes.
- Acceder a fuentes de vídeo para su consumo.
- Generación de gráficos para procesamiento de audio y video.
- Los nodos en el gráfico se pueden implementar como procesos separados, comunicándose con sockets e intercambiando contenido multimedia mediante el paso fd.
Además de ello, su uso se extiende al control de fuentes de vídeo, como dispositivos de captura y cámaras web, así como a la gestión del contenido de la pantalla que muestran varias aplicaciones. PipeWire también puede actuar como un servidor de audio, asegurando una latencia mínima y proporcionando una funcionalidad que combina las capacidades de PulseAudio y JACK, incluso teniendo en cuenta las necesidades de los sistemas de procesamiento de audio profesionales que PulseAudio no podía ofrecer.
Principales novedades de PipeWire 1.0
Esta nueva versión de PipeWire 1.0, la cual llega de forma estable, brinda todas las características que se espera que muevan flujos de medios dentro de un sistema, ya que aprovecha las funciones avanzadas del kernel de Linux para proporcionar baja latencia, poco espacio y alto rendimiento a la vez que es seguro.
Y es que entre los cambios en comparación con la rama 0.3, hay relativamente pocas características nuevas para PipeWire 1.0, pero dentro de los cambios implementados se destaca la inclusión predeterminada de soporte jackdbus (de forma predeterminada) que permite utilizar PipeWire como un cliente completo del sistema de sonido JACK. ALSA utiliza programación basada en IRQ en el perfil Pro-Audio para lograr una latencia a nivel de JACK.
Además de ello, se incluye soporte para pausar y reanudar en pipe-tunnel, asi como el soporte para nuevos complementos, la capacidad de manejar valores NULL de mmap_areas en el complemento ALSA y soporte para uclamp (para permitir que el programador PipeWire tome decisiones mejor informadas sobre la asignación de tareas).
De los demás cambios que se destacan de esta nueva versión:
- Se agregó soporte para versiones antiguas y nuevas de webrtc-audio-processing.
- Se agregó soporte para archivos DFF DSD a pw-cat.
- Se corrigieron posibles condiciones de carrera en setrlimit en module-rt.
- Se agregó soporte para la plataforma GNU/Hurd.
- Muchas correcciones de errores de módulos
- Una nueva opción para exponer los controles ALSA como parámetros de accesorios
- Soporte para directorios base XDG (al cargar configuraciones de ACP.
- Mejora enormemente la compatibilidad del códec Bluetooth LC3
- Optimización en la reutilización del buffer con JACK
- Mejoras en los permisos de socket
- Vista previa de grabación de eventos MIDI en Ardour
- Se corrigió un posible error de segmentación al copiar estructuras de mezcla.
- Se corrigió la pérdida de memoria en la cadena de filtros.
Por último y no menos importante, cabe mencionar que el desarrollador de PulseAudio, Arun Raghavan, comento lo siguiente sobre este lanzamiento
¡Qué tiempos tan emocionantes! PipeWire 1.0 es la culminación de 15 años de experiencia en audio de Linux, que combina lecciones de PulseAudio en un sistema de alto rendimiento, base flexible y fácil de usar para audio y multimedia en Linux.
Espero con ansias la próxima década de progreso en el software libre.
¡Espacio de audio profesional y de consumo!.»
Si estás interesado en poder conocer más al respecto, debes saber que el código del proyecto está escrito en C y se distribuye bajo la licencia LGPLv2.1 y puedes consultar los detalles de este lanzamiento en el siguiente enlace.
Finalmente, cabe mencionar que PipeWire se encuentra habilitado de forma predeterminada en una gran cantidad de distribuciones de Linux, como por ejemplo Fedora, RHEL, Ubuntu, Debian, SUSE/openSUSE y también en derivados de estos, por lo que solo basta con ejecutar los comandos de actualización de tu sistema para contar con la última versión de PipeWire.