Merge cherrypicks of [6916730, 6913831, 6916555, 6916731, 6916732, 6916733, 6916734, 6916735, 6916736, 6916738, 6916739, 6916740, 6916741, 6916942, 6916715, 6916717, 6916718, 6916719, 6916720, 6916721, 6916962, 6916964, 6916966, 6916967, 6916968, 6916970, 6916972, 6916974] into pi-qpr3-b-release
Change-Id: I87e8e29a2bee24413883a530fba285ded315ff25
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 7f39d10..251420f 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -783,6 +783,9 @@
// need to enable allocation when attaching
surface->getIGraphicBufferProducer()->allowAllocation(true);
+ // dequeueBuffer cannot time out
+ surface->setDequeueTimeout(-1);
+
// for meta data mode, we move dequeud buffers to the new surface.
// for non-meta mode, we must move all registered buffers
for (size_t i = 0; i < buffers.size(); ++i) {
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index 353e407..c4f0410 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -2198,6 +2198,7 @@
}
if (mime.startsWithIgnoreCase("video/")) {
+ mSurface->setDequeueTimeout(-1);
mSoftRenderer = new SoftwareRenderer(mSurface, mRotationDegrees);
}
}
@@ -2485,6 +2486,7 @@
&& (mFlags & kFlagPushBlankBuffersOnShutdown)) {
pushBlankBuffersToNativeWindow(mSurface.get());
}
+ surface->setDequeueTimeout(-1);
mSoftRenderer = new SoftwareRenderer(surface);
// TODO: check if this was successful
} else {