summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChangyeon Jo <changyeon@google.com>2023-06-16 00:04:30 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-06-16 00:04:30 +0000
commit55baee93d61d7b4955af2ac9420f56d613edd163 (patch)
tree889d741818096f55e172860e2338c68e77f111d9
parent047d533cdc1bd0fb8efed015fce4a2e1cfd0e6bb (diff)
parentc070b5a14b963c58264709ec58615c5c21c2bc67 (diff)
downloadinterfaces-55baee93d61d7b4955af2ac9420f56d613edd163.tar.gz
Increase frame counters in the same critical section am: 928a4535c8 am: a343d0cf0c am: c070b5a14b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2594993 Change-Id: Ic0db29743b092a5a2d01860e76356a38e3e4788b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--automotive/evs/1.0/vts/functional/FrameHandler.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/automotive/evs/1.0/vts/functional/FrameHandler.cpp b/automotive/evs/1.0/vts/functional/FrameHandler.cpp
index 6a01a44dfe..4233430478 100644
--- a/automotive/evs/1.0/vts/functional/FrameHandler.cpp
+++ b/automotive/evs/1.0/vts/functional/FrameHandler.cpp
@@ -133,6 +133,9 @@ Return<void> FrameHandler::deliverFrame(const BufferDesc& bufferArg) {
// Local flag we use to keep track of when the stream is stopping
bool timeToStop = false;
+ // Another local flag telling whether or not current frame is displayed.
+ bool frameDisplayed = false;
+
if (bufferArg.memHandle.getNativeHandle() == nullptr) {
// Signal that the last frame has been received and the stream is stopped
timeToStop = true;
@@ -172,9 +175,7 @@ Return<void> FrameHandler::deliverFrame(const BufferDesc& bufferArg) {
} else {
// Everything looks good!
// Keep track so tests or watch dogs can monitor progress
- mLock.lock();
- mFramesDisplayed++;
- mLock.unlock();
+ frameDisplayed = true;
}
}
}
@@ -197,12 +198,15 @@ Return<void> FrameHandler::deliverFrame(const BufferDesc& bufferArg) {
}
- // Update our received frame count and notify anybody who cares that things have changed
+ // Update frame counters and notify anybody who cares that things have changed.
mLock.lock();
if (timeToStop) {
mRunning = false;
} else {
mFramesReceived++;
+ if (frameDisplayed) {
+ mFramesDisplayed++;
+ }
}
mLock.unlock();
mSignal.notify_all();