diff options
author | James Dong <jdong@google.com> | 2010-03-18 18:06:43 -0700 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-03-18 18:10:18 -0700 |
commit | d07a6161e07a411c795baf34d5e62bed21b4d4ab (patch) | |
tree | 1529619a8aecae6d34c5fbd15287f1d425e03d17 /libstagefrighthw | |
parent | b11e4b81a33f0244c7a694b28c4113971f56d3cd (diff) | |
download | omap3-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.cpp | 7 |
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; |