Стояла задача переписать на С\С++ написанный ранее другим программистом на Perl вещатель потокового видео.
К программе предудущего разработчика были следующие претензии у заказчика - из за утечек памяти, которые невозможно решить на уровне выбранного тем программистом языка Perl, программа спустя 2-3 дня сама выключалась (падала), что является недопустимым для подобного рода приложений.
Суть программы - создание сервера-буфера для непрерывного вещания, даже если связь с основным вещающим сервером отсутствует (как показала практика, в сетях заказчика часто бывают перерывы до 12 часов).
Организация программы - программа получает видеопоток в формате Apple HLS (по сути, обновляющийся список файлов - на ближайшие 12 часов - со ссылками на коротенькие фрагменты MPEG Transport Stream по 8-15 секунд), скачивает их себе в буфер (кеширует), и при этом вещает фрагменты в UDP Video Stream из своего буфера по порядку, даже в случае отсутствия связи с оригинальным вещающим сервером.
Для вещания в UDP Video Stream использована библиотека Live 555.
Проект был выполнен в среде Qt 4.8 в виде демона (сервиса) для Ubuntu Linux, и в графическом режиме для Windows (с выводом статистики о буфере и состоянии связи на графичекую форму).
Моя реализация показала стабильную работу в течение нескольких недель.