summaryrefslogtreecommitdiff
path: root/libstagefrighthw
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-03-18 18:06:43 -0700
committerJames Dong <jdong@google.com>2010-03-18 18:10:18 -0700
commitd07a6161e07a411c795baf34d5e62bed21b4d4ab (patch)
tree1529619a8aecae6d34c5fbd15287f1d425e03d17 /libstagefrighthw
parentb11e4b81a33f0244c7a694b28c4113971f56d3cd (diff)
downloadomap3-d07a6161e07a411c795baf34d5e62bed21b4d4ab.tar.gz
Overlay sometimes does a flush, and thus needs to be restarted.
bug - 2528212 Change-Id: I90baa324191b7798fc49c660f3ae3062ad44cb8f
Diffstat (limited to 'libstagefrighthw')
-rw-r--r--libstagefrighthw/TIHardwareRenderer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libstagefrighthw/TIHardwareRenderer.cpp b/libstagefrighthw/TIHardwareRenderer.cpp
index 155fe85..6b0c65a 100644
--- a/libstagefrighthw/TIHardwareRenderer.cpp
+++ b/libstagefrighthw/TIHardwareRenderer.cpp
@@ -185,7 +185,12 @@ void TIHardwareRenderer::render(
memcpy(mOverlayAddresses[mIndex], data, size);
}
- mOverlay->queueBuffer((void *)mIndex);
+ if (mOverlay->queueBuffer((void *)mIndex) == ALL_BUFFERS_FLUSHED) {
+ mIsFirstFrame = true;
+ if (mOverlay->queueBuffer((void *)mIndex) != 0) {
+ return;
+ }
+ }
if (++mIndex == mOverlayAddresses.size()) {
mIndex = 0;