Merge cherrypicks of [5965514, 5965661, 5965004, 5965005, 5965006, 5965007, 5965008, 5965009, 5965010, 5965011, 5965012, 5965013, 5965014, 5965015, 5965016, 5965017, 5965515, 5964942, 5965122, 5964646, 5964647, 5964648, 5964692, 5964693, 5964694, 5964695, 5964696, 5965018] into pi-b4s4-release
Change-Id: I220a71f6d010f9303ae045698b983e97092cd9ee
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 {