Я создаю объект AVFrame с помощью функции av_frame_alloc () и очищаю его с помощью av_frame_free (& frame), который внутренне вызывает av_frame_unref (), но он не очищает память должным образом.Размер кучи моего приложения растет в геометрической прогрессии во время выполнения.
Не работает:
AVFrame* frame = av_frame_alloc();
av_frame_free(&frame);
Работает:
AVFrame* frame = av_frame_alloc();
av_free(frame->data[0]);
Насколько я знаю, av_frame_free () вызываетav_freep (), которая вызывает av_free () для освобождения динамической памяти.Очистка памяти, если я использую av_free (frame-> data [0]) напрямую вместо av_frame_free (& frame)