From 604bb9ea6e9bec763ae231330066ecffa90a2786 Mon Sep 17 00:00:00 2001 From: Lajos Molnar Date: Fri, 19 Jun 2015 15:23:36 -0700 Subject: stagefright: handle removal of a tracked buffer in ACodec Bug: 21815057 Change-Id: Idd1c71b4b0b68028020c3e10615936870ffd2dec --- include/media/stagefright/FrameRenderTracker.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/media/stagefright/FrameRenderTracker.h b/include/media/stagefright/FrameRenderTracker.h index 3b0db5a..9333e8f 100644 --- a/include/media/stagefright/FrameRenderTracker.h +++ b/include/media/stagefright/FrameRenderTracker.h @@ -119,8 +119,9 @@ struct FrameRenderTracker : public RefBase { std::list checkFencesAndGetRenderedFrames(const Info *until, bool dropIncomplete); // Stop tracking a queued frame (e.g. if the frame has been discarded). If |info| is NULL or is - // not tracked, this method is a no-op. - void untrackFrame(const Info *info); + // not tracked, this method is a no-op. If |index| is specified, all indices larger that |index| + // are decremented. This is useful if the untracked frame is deleted from the frame vector. + void untrackFrame(const Info *info, ssize_t index = SSIZE_MAX); void dumpRenderQueue() const; -- cgit v1.1