diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2013-07-25 17:12:35 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2013-07-30 10:58:44 -0700 |
commit | 7b82efe7a376c882f8f938e1c41b8311a8cdda4a (patch) | |
tree | d7ed69f0a495bc1a873a285ba11e72a9867c5565 /services/camera/libcameraservice/camera2/ZslProcessor3.h | |
parent | d054c32443a493513ab63529b0c8b1aca290278c (diff) | |
download | frameworks_av-7b82efe7a376c882f8f938e1c41b8311a8cdda4a.zip frameworks_av-7b82efe7a376c882f8f938e1c41b8311a8cdda4a.tar.gz frameworks_av-7b82efe7a376c882f8f938e1c41b8311a8cdda4a.tar.bz2 |
Camera: Rename new API to camera2, rearrange camera service
- Support API rename from photography to camera2
- Reorganize camera service files
- API support files to api1/, api2/, api_pro/
- HAL device support files into device{1,2,3}/
- Common files into common/
- Camera service remains at top-level
Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9
Diffstat (limited to 'services/camera/libcameraservice/camera2/ZslProcessor3.h')
-rw-r--r-- | services/camera/libcameraservice/camera2/ZslProcessor3.h | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/services/camera/libcameraservice/camera2/ZslProcessor3.h b/services/camera/libcameraservice/camera2/ZslProcessor3.h deleted file mode 100644 index cb98b99..0000000 --- a/services/camera/libcameraservice/camera2/ZslProcessor3.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ANDROID_SERVERS_CAMERA_CAMERA2_ZSLPROCESSOR3_H -#define ANDROID_SERVERS_CAMERA_CAMERA2_ZSLPROCESSOR3_H - -#include <utils/Thread.h> -#include <utils/String16.h> -#include <utils/Vector.h> -#include <utils/Mutex.h> -#include <utils/Condition.h> -#include <gui/BufferItemConsumer.h> -#include "Parameters.h" -#include "FrameProcessor.h" -#include "camera/CameraMetadata.h" -#include "Camera2Heap.h" -#include "../CameraDeviceBase.h" -#include "ZslProcessorInterface.h" -#include "../camera3/Camera3ZslStream.h" - -namespace android { - -class Camera2Client; - -namespace camera2 { - -class CaptureSequencer; - -/*** - * ZSL queue processing - */ -class ZslProcessor3 : - public ZslProcessorInterface, - public camera3::Camera3StreamBufferListener, - virtual public Thread, - virtual public FrameProcessor::FilteredListener { - public: - ZslProcessor3(sp<Camera2Client> client, wp<CaptureSequencer> sequencer); - ~ZslProcessor3(); - - // From FrameProcessor - virtual void onFrameAvailable(int32_t frameId, const CameraMetadata &frame); - - /** - **************************************** - * ZslProcessorInterface implementation * - **************************************** - */ - - virtual status_t updateStream(const Parameters ¶ms); - virtual status_t deleteStream(); - virtual int getStreamId() const; - - virtual status_t pushToReprocess(int32_t requestId); - virtual status_t clearZslQueue(); - - void dump(int fd, const Vector<String16>& args) const; - - protected: - /** - ********************************************** - * Camera3StreamBufferListener implementation * - ********************************************** - */ - typedef camera3::Camera3StreamBufferListener::BufferInfo BufferInfo; - // Buffer was acquired by the HAL - virtual void onBufferAcquired(const BufferInfo& bufferInfo); - // Buffer was released by the HAL - virtual void onBufferReleased(const BufferInfo& bufferInfo); - - private: - static const nsecs_t kWaitDuration = 10000000; // 10 ms - - enum { - RUNNING, - LOCKED - } mState; - - wp<Camera2Client> mClient; - wp<CaptureSequencer> mSequencer; - - const int mId; - - mutable Mutex mInputMutex; - - enum { - NO_STREAM = -1 - }; - - int mZslStreamId; - sp<camera3::Camera3ZslStream> mZslStream; - - struct ZslPair { - BufferItemConsumer::BufferItem buffer; - CameraMetadata frame; - }; - - static const size_t kZslBufferDepth = 4; - static const size_t kFrameListDepth = kZslBufferDepth * 2; - Vector<CameraMetadata> mFrameList; - size_t mFrameListHead; - - ZslPair mNextPair; - - Vector<ZslPair> mZslQueue; - size_t mZslQueueHead; - size_t mZslQueueTail; - - CameraMetadata mLatestCapturedRequest; - - virtual bool threadLoop(); - - status_t clearZslQueueLocked(); - - void dumpZslQueue(int id) const; - - nsecs_t getCandidateTimestampLocked(size_t* metadataIdx) const; -}; - - -}; //namespace camera2 -}; //namespace android - -#endif |