From 7797bf497168f6fb48bcebed4bbc3ce13b36ca5c Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 21 Feb 2020 01:18:21 +1100 Subject: [PATCH] ffmpegdecoder: added helper functions for memory handling --- app/codec/ffmpeg/ffmpegdecoder.cpp | 22 ++++++++++++++++++++++ app/codec/ffmpeg/ffmpegdecoder.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/app/codec/ffmpeg/ffmpegdecoder.cpp b/app/codec/ffmpeg/ffmpegdecoder.cpp index 4aa0168bc..c655cd2ae 100644 --- a/app/codec/ffmpeg/ffmpegdecoder.cpp +++ b/app/codec/ffmpeg/ffmpegdecoder.cpp @@ -1007,6 +1007,28 @@ void FFmpegDecoder::CacheFrameToDisk(AVFrame *f) } } +void FFmpegDecoder::RemoveFirstFromFrameCache() +{ + if (cached_frames_.isEmpty()) { + return; + } + + av_frame_free(&cached_frames_.first()); + cached_frames_.removeFirst(); + cache_at_zero_ = false; +} + +void FFmpegDecoder::RemoveLastFromFrameCache() +{ + if (cached_frames_.isEmpty()) { + return; + } + + av_frame_free(&cached_frames_.last()); + cached_frames_.removeLast(); + cache_at_eof_ = false; +} + void FFmpegDecoder::ClearFrameCache() { for (int i=0;i