Вот такое странное сообщение выдает мне ffmpeg после попытки "подчистить хвосты".
[tl;dr]
Я начал пилить новую версию "астровидеогида" (сбор и обработка в реальном времени видео с видеокамеры подсмотра, выдача команд исполнительным приводам для коррекции поля — чтобы объект никуда не "убегал" при мелких колебаниях телескопа, а также коррекция телескопом при ошибках сопровождения), т.к. мне надоело для каждой новой камеры/платы видеозахвата допиливать модуль. Я решил использовать ffmpeg: пусть он жирный, зато проблем сразу меньше. Один демон будет просто хапать видео и в shm складывать в циклический буфер 4 последних кадра (раньше так и работало), а еще в shm будет складывать вычисленные координаты смещения опорного объекта (раньше сразу отправлялись команды на исполнительные приводы). Это позволит разделить демон захвата и исполнительный демон → проще будет разрабатывать новые устройства.
[/tl;dr]
Вот ссылка на мои начинания. Кода пока немножко. Проблема в файле capture.c: функция free_videodev()
вызывает матюки:
[video4linux2,v4l2 @ 0x62e560] Some buffers are still owned by the caller on close.
Вопрос: мне наплевать на эти матюки, или же попытаться найти ту неведомую штуку, которая продолжает занимать память? Вроде бы, высвобождаются все ресурсы. В коде ffmpeg черт ногу сломит: очень уж много всего.