GStreamer agora pode enviar plugins escritos em Rust

GStreamer 1.22 Open-Source Multimedia Framework melhora o suporte a AV1 e WebRTC
gstreamer

Junto com o kernel Linux se preparando para sua integração inicial com Rust, Rusticl chegando ao Mesa esta semana como o primeiro grande uso de Rust dentro do Mesa, e Cloudflare anunciando uma substituição de proxy HTTP Nginx escrita em Rust, algumas notícias adicionais de adoção do Rust para a semana é que o projeto GStreamer agora está pronto para enviar plug-ins escritos em Rust como parte de seus lançamentos binários oficiais. Assim, o GStreamer agora pode enviar plugins escritos em Rust.

Devido à segurança da memória em torno do Rust, os codificadores e decodificadores de mídia escritos em Rust sempre foram uma área que fez muito sentido e os desenvolvedores do GStreamer têm se interessado em usar essa linguagem de programação moderna.

GStreamer agora pode enviar plugins escritos em Rust

Esta solicitação de mesclagem para GStreamer agora desembarcou por oferecer suporte à construção de receitas Cargo-C para compilações nativas. Isso é necessário para enviar plugins escritos em Rust como parte dos lançamentos binários oficiais do projeto. Esse suporte está atualmente em vigor para compilações do GStreamer no Linux, macOS e Windows com MSVC. No entanto, a integração Android e iOS deve estar pronta para o lançamento do GStreamer N+1.

O desenvolvedor do GStreamer, Nirbheek Chauhan, acrescentou:

Isso é realmente empolgante porque agora as pessoas terão acesso fácil a excelentes plugins, como elementos HTTP baseados em solicitação, coletor WebRTC WHIP, decodificador dav1d, codificador rav1e, implementação RaptorQ FEC, plugin AWS, fallbackswitch plugin (para alternar facilmente entre as fontes) e muito mais!

Observe que isso habilita apenas plugins compartilhados (não plugins estáticos). A maneira como o Rust gera arquivos estáticos C faz com que eles tenham 100s de MBs de tamanho. Precisamos encontrar uma maneira de cortar o código que não é necessário para o plugin antes de podermos enviá-los. Os detalhes estão no problema vinculado acima!

Além disso, há outras novidades em relação ao GStreamer chegando. É o caso do suporte para criar fórmulas Cargo-C para compilações nativas.