diff options
| author | 2011-07-19 17:10:10 -0700 | |
|---|---|---|
| committer | 2011-07-19 17:10:10 -0700 | |
| commit | 9ec1f1d259f9dfc4a9359739e4711ba1a99375b2 (patch) | |
| tree | 98e541782c4f0f6d9de2c92e59ebcb7d52283e83 /libs/gui/SurfaceTextureClient.cpp | |
| parent | 6461c97331e9e672e2abd6a46eaaa7b948974484 (diff) | |
| parent | f07b8a3f691be39083fb5163f9456bcfa566f93f (diff) | |
Merge "implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation""
Diffstat (limited to 'libs/gui/SurfaceTextureClient.cpp')
| -rw-r--r-- | libs/gui/SurfaceTextureClient.cpp | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp index 68475e9612f9..1dc6cd2cf751 100644 --- a/libs/gui/SurfaceTextureClient.cpp +++ b/libs/gui/SurfaceTextureClient.cpp @@ -222,26 +222,38 @@ int SurfaceTextureClient::queueBuffer(android_native_buffer_t* buffer) { if (i < 0) { return i; } - mSurfaceTexture->queueBuffer(i, timestamp); + mSurfaceTexture->queueBuffer(i, timestamp, + &mDefaultWidth, &mDefaultHeight, &mTransformHint); return OK; } int SurfaceTextureClient::query(int what, int* value) const { LOGV("SurfaceTextureClient::query"); - switch (what) { - case NATIVE_WINDOW_FORMAT: - if (mReqFormat) { - *value = mReqFormat; - return NO_ERROR; + { // scope for the lock + Mutex::Autolock lock(mMutex); + switch (what) { + case NATIVE_WINDOW_FORMAT: + if (mReqFormat) { + *value = mReqFormat; + return NO_ERROR; + } + break; + case NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER: + *value = 0; + return NO_ERROR; + case NATIVE_WINDOW_CONCRETE_TYPE: + *value = NATIVE_WINDOW_SURFACE_TEXTURE_CLIENT; + return NO_ERROR; + case NATIVE_WINDOW_DEFAULT_WIDTH: + *value = mDefaultWidth; + return NO_ERROR; + case NATIVE_WINDOW_DEFAULT_HEIGHT: + *value = mDefaultHeight; + return NO_ERROR; + case NATIVE_WINDOW_TRANSFORM_HINT: + *value = mTransformHint; + return NO_ERROR; } - break; - case NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER: - // TODO: this is not needed anymore - *value = 0; - return NO_ERROR; - case NATIVE_WINDOW_CONCRETE_TYPE: - *value = NATIVE_WINDOW_SURFACE_TEXTURE_CLIENT; - return NO_ERROR; } return mSurfaceTexture->query(what, value); } |