Всем привет.
Мы в Эрливидео решили сделать эксперимент и написать прошивку камеры на Rust. В принципе проект своей прошивки у меня в полудохлом состоянии уже года три как, но его не развивали.
Тут я восхитился идеями раста и решил сделать эксперимент, написав стример на расте.
Детали есть в посте на хабре: https://habrahabr.ru/company/erlyvideo/blog/334912/ тут продублирую суть.
Вокруг сишного SDK с помощью bindgen нагенерен код на Rust, который в unsafe настраивает железо, потом получает оттуда видео кадры. Дальше начинается нормальный Rust, который полученное видео упаковывает в транспортный контейнер и рассылает клиентам через tokio.
Результаты пока радуют: ни единого сегфолта и софт не виснет на 3 подключенных клиентах.
Если интересно, могу дальше рассказывать, как у нас происходит ржавый эксперимент.