diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/android/keycodes.h | 6 | ||||
-rw-r--r-- | include/binder/Parcel.h | 6 | ||||
-rw-r--r-- | include/gui/BufferQueueCore.h | 4 | ||||
-rw-r--r-- | include/gui/BufferQueueProducer.h | 3 | ||||
-rw-r--r-- | include/gui/IGraphicBufferProducer.h | 12 | ||||
-rw-r--r-- | include/gui/Surface.h | 10 | ||||
-rw-r--r-- | include/input/InputEventLabels.h | 4 | ||||
-rw-r--r-- | include/media/openmax/OMX_AsString.h | 1 | ||||
-rw-r--r-- | include/media/openmax/OMX_Core.h | 18 | ||||
-rw-r--r-- | include/ui/GraphicBuffer.h | 3 |
10 files changed, 55 insertions, 12 deletions
diff --git a/include/android/keycodes.h b/include/android/keycodes.h index 75d0ab6..80e44c0 100644 --- a/include/android/keycodes.h +++ b/include/android/keycodes.h @@ -302,7 +302,11 @@ enum { AKEYCODE_TV_CONTENTS_MENU = 256, AKEYCODE_TV_MEDIA_CONTEXT_MENU = 257, AKEYCODE_TV_TIMER_PROGRAMMING = 258, - AKEYCODE_HELP = 259 + AKEYCODE_HELP = 259, + AKEYCODE_NAVIGATE_PREVIOUS = 260, + AKEYCODE_NAVIGATE_NEXT = 261, + AKEYCODE_NAVIGATE_IN = 262, + AKEYCODE_NAVIGATE_OUT = 263 // NOTE: If you add a new keycode here you must also add it to several other files. // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list. diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h index 0ba3abe..da960aa 100644 --- a/include/binder/Parcel.h +++ b/include/binder/Parcel.h @@ -337,6 +337,12 @@ public: public: inline void* data() { return mData; } }; + +private: + size_t mBlobAshmemSize; + +public: + size_t getBlobAshmemSize() const; }; // --------------------------------------------------------------------------- diff --git a/include/gui/BufferQueueCore.h b/include/gui/BufferQueueCore.h index a6065a9..9a43516 100644 --- a/include/gui/BufferQueueCore.h +++ b/include/gui/BufferQueueCore.h @@ -266,6 +266,10 @@ private: // mIsAllocatingCondition is a condition variable used by producers to wait until mIsAllocating // becomes false. mutable Condition mIsAllocatingCondition; + + // mAllowAllocation determines whether dequeueBuffer is allowed to allocate + // new buffers + bool mAllowAllocation; }; // class BufferQueueCore } // namespace android diff --git a/include/gui/BufferQueueProducer.h b/include/gui/BufferQueueProducer.h index f794ea3..ed660fb 100644 --- a/include/gui/BufferQueueProducer.h +++ b/include/gui/BufferQueueProducer.h @@ -172,6 +172,9 @@ public: virtual void allocateBuffers(bool async, uint32_t width, uint32_t height, PixelFormat format, uint32_t usage); + // See IGraphicBufferProducer::allowAllocation + virtual status_t allowAllocation(bool allow); + private: // This is required by the IBinder::DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); diff --git a/include/gui/IGraphicBufferProducer.h b/include/gui/IGraphicBufferProducer.h index 2d99f24..5c50b2b 100644 --- a/include/gui/IGraphicBufferProducer.h +++ b/include/gui/IGraphicBufferProducer.h @@ -458,6 +458,18 @@ public: // allocated, this function has no effect. virtual void allocateBuffers(bool async, uint32_t width, uint32_t height, PixelFormat format, uint32_t usage) = 0; + + // Sets whether dequeueBuffer is allowed to allocate new buffers. + // + // Normally dequeueBuffer does not discriminate between free slots which + // already have an allocated buffer and those which do not, and will + // allocate a new buffer if the slot doesn't have a buffer or if the slot's + // buffer doesn't match the requested size, format, or usage. This method + // allows the producer to restrict the eligible slots to those which already + // have an allocated buffer of the correct size, format, and usage. If no + // eligible slot is available, dequeueBuffer will block or return an error + // as usual. + virtual status_t allowAllocation(bool allow) = 0; }; // ---------------------------------------------------------------------------- diff --git a/include/gui/Surface.h b/include/gui/Surface.h index 8217652..a9f78cf 100644 --- a/include/gui/Surface.h +++ b/include/gui/Surface.h @@ -298,12 +298,12 @@ private: sp<GraphicBuffer> mPostedBuffer; bool mConnectedToCpu; - // In the lock/unlock context, this reflects the region that the producer - // wished to update and whether the Surface was able to copy the previous - // buffer back to allow a partial update. + // When a CPU producer is attached, this reflects the region that the + // producer wished to update as well as whether the Surface was able to copy + // the previous buffer back to allow a partial update. // - // In the dequeue/queue context, this reflects the surface damage (the - // damage since the last frame) passed in by the producer. + // When a non-CPU producer is attached, this reflects the surface damage + // (the change since the previous frame) passed in by the producer. Region mDirtyRegion; }; diff --git a/include/input/InputEventLabels.h b/include/input/InputEventLabels.h index 9aa7425..3962001 100644 --- a/include/input/InputEventLabels.h +++ b/include/input/InputEventLabels.h @@ -299,6 +299,10 @@ static const InputEventLabel KEYCODES[] = { DEFINE_KEYCODE(TV_MEDIA_CONTEXT_MENU), DEFINE_KEYCODE(TV_TIMER_PROGRAMMING), DEFINE_KEYCODE(HELP), + DEFINE_KEYCODE(NAVIGATE_PREVIOUS), + DEFINE_KEYCODE(NAVIGATE_NEXT), + DEFINE_KEYCODE(NAVIGATE_IN), + DEFINE_KEYCODE(NAVIGATE_OUT), { NULL, 0 } }; diff --git a/include/media/openmax/OMX_AsString.h b/include/media/openmax/OMX_AsString.h index 7856c06..65eb562 100644 --- a/include/media/openmax/OMX_AsString.h +++ b/include/media/openmax/OMX_AsString.h @@ -287,6 +287,7 @@ inline static const char *asString(OMX_EVENTTYPE i, const char *def = "??") { // case OMX_EventComponentResumed: return "ComponentResumed"; // case OMX_EventDynamicResourcesAvailable: return "DynamicResourcesAvailable"; // case OMX_EventPortFormatDetected: return "PortFormatDetected"; + case OMX_EventOutputRendered: return "OutputRendered"; default: return def; } } diff --git a/include/media/openmax/OMX_Core.h b/include/media/openmax/OMX_Core.h index 12f2b3b..4fc1546 100644 --- a/include/media/openmax/OMX_Core.h +++ b/include/media/openmax/OMX_Core.h @@ -503,12 +503,18 @@ typedef enum OMX_EVENTTYPE OMX_EventResourcesAcquired, /**< component has been granted resources and is automatically starting the state change from OMX_StateWaitForResources to OMX_StateIdle. */ - OMX_EventComponentResumed, /**< Component resumed due to reacquisition of resources */ - OMX_EventDynamicResourcesAvailable, /**< Component has acquired previously unavailable dynamic resources */ - OMX_EventPortFormatDetected, /**< Component has detected a supported format. */ - OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_EventMax = 0x7FFFFFFF + OMX_EventComponentResumed, /**< Component resumed due to reacquisition of resources */ + OMX_EventDynamicResourcesAvailable, /**< Component has acquired previously unavailable dynamic resources */ + OMX_EventPortFormatDetected, /**< Component has detected a supported format. */ + OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + /** Event when tunneled decoder has rendered an output + * nData1 must contain the lower 32-bits of the buffer timestamp + * nData2 must contain the upper 32-bits of the buffer timestamp + */ + OMX_EventOutputRendered = 0x7F000001, + OMX_EventMax = 0x7FFFFFFF } OMX_EVENTTYPE; typedef struct OMX_CALLBACKTYPE diff --git a/include/ui/GraphicBuffer.h b/include/ui/GraphicBuffer.h index cea94fc..f91d192 100644 --- a/include/ui/GraphicBuffer.h +++ b/include/ui/GraphicBuffer.h @@ -97,6 +97,9 @@ public: status_t reallocate(uint32_t inWidth, uint32_t inHeight, PixelFormat inFormat, uint32_t inUsage); + bool needsReallocation(uint32_t inWidth, uint32_t inHeight, + PixelFormat inFormat, uint32_t inUsage); + status_t lock(uint32_t inUsage, void** vaddr); status_t lock(uint32_t inUsage, const Rect& rect, void** vaddr); // For HAL_PIXEL_FORMAT_YCbCr_420_888 |