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;  | 
