diff options
author | Surajit Podder <spodder@codeaurora.org> | 2016-01-13 12:42:43 +0530 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-03-08 22:37:30 -0800 |
commit | 69714d42dc65906f2a94a5e47bea6219ead6fe23 (patch) | |
tree | 9ff229c5efb86abc742695ffa3e8097c19c06521 | |
parent | 1aedff94c6f52223f8720edbce16c80ad1b57b00 (diff) | |
download | frameworks_av-69714d42dc65906f2a94a5e47bea6219ead6fe23.zip frameworks_av-69714d42dc65906f2a94a5e47bea6219ead6fe23.tar.gz frameworks_av-69714d42dc65906f2a94a5e47bea6219ead6fe23.tar.bz2 |
video: Add support to push blank buffers on surface switch
Add support to push blank buffers only on surface switch.
Setting "push-blank-buffers-on-switch" key with value 1
will enable this feature.
Change-Id: I4a0fc48fe24c09a6b8d0e2e0fc4dc2e96d3178bf
-rw-r--r-- | include/media/stagefright/ACodec.h | 1 | ||||
-rw-r--r-- | media/libstagefright/ACodec.cpp | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h index cbc2ba6..0ac13b9 100644 --- a/include/media/stagefright/ACodec.h +++ b/include/media/stagefright/ACodec.h @@ -148,6 +148,7 @@ protected: kFlagIsSecure = 1, kFlagPushBlankBuffersToNativeWindowOnShutdown = 2, kFlagIsGrallocUsageProtected = 4, + kFlagPushBlankBuffersToNativeWindowOnSwitch = 1 << 7, }; enum { diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 7351d3e..8cf38ef 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -767,7 +767,8 @@ status_t ACodec::handleSetSurface(const sp<Surface> &surface) { } // push blank buffers to previous window if requested - if (mFlags & kFlagPushBlankBuffersToNativeWindowOnShutdown) { + if (mFlags & kFlagPushBlankBuffersToNativeWindowOnShutdown || + mFlags & kFlagPushBlankBuffersToNativeWindowOnSwitch) { pushBlankBuffersToNativeWindow(mNativeWindow.get()); } @@ -1983,6 +1984,12 @@ status_t ACodec::configureCodec( && push != 0) { mFlags |= kFlagPushBlankBuffersToNativeWindowOnShutdown; } + + int32_t val; + if (msg->findInt32("push-blank-buffers-on-switch", &val) + && val != 0) { + mFlags |= kFlagPushBlankBuffersToNativeWindowOnSwitch; + } } int32_t rotationDegrees; |