From f42917964a76720932b23e67a05d034cd0cf346b Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Tue, 28 Jul 2015 17:56:36 -0700 Subject: add GRALLOC_USAGE_HW_COMPOSER flag to video usage bits bug: 22657091 Change-Id: I6a11bc15bba34035ef31c2f4d41196ece60d4ad9 --- include/media/stagefright/ACodec.h | 6 ++++++ media/libstagefright/ACodec.cpp | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h index 2ca3f1c..05f6786 100644 --- a/include/media/stagefright/ACodec.h +++ b/include/media/stagefright/ACodec.h @@ -145,6 +145,12 @@ private: kFlagIsGrallocUsageProtected = 4, }; + enum { + kVideoGrallocUsage = (GRALLOC_USAGE_HW_TEXTURE + | GRALLOC_USAGE_HW_COMPOSER + | GRALLOC_USAGE_EXTERNAL_DISP), + }; + struct BufferInfo { enum Status { OWNED_BY_US, diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 4e1f094..e904c49 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -668,8 +668,7 @@ status_t ACodec::handleSetSurface(const sp &surface) { return err; } - int ignoredFlags = (GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_HW_COMPOSER - | GRALLOC_USAGE_EXTERNAL_DISP); + int ignoredFlags = kVideoGrallocUsage; // New output surface is not allowed to add new usage flag except ignored ones. if ((usageBits & ~(mNativeWindowUsageBits | ignoredFlags)) != 0) { ALOGW("cannot change usage from %#x to %#x", mNativeWindowUsageBits, usageBits); @@ -905,7 +904,7 @@ status_t ACodec::setupNativeWindowSizeFormatAndUsage( usage |= GRALLOC_USAGE_PROTECTED; } - usage |= GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_EXTERNAL_DISP; + usage |= kVideoGrallocUsage; *finalUsage = usage; ALOGV("gralloc usage: %#x(OMX) => %#x(ACodec)", omxUsage, usage); -- cgit v1.1