summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/Camera2Client.h
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-07-25 17:12:35 -0700
committerEino-Ville Talvala <etalvala@google.com>2013-07-30 10:58:44 -0700
commit7b82efe7a376c882f8f938e1c41b8311a8cdda4a (patch)
treed7ed69f0a495bc1a873a285ba11e72a9867c5565 /services/camera/libcameraservice/Camera2Client.h
parentd054c32443a493513ab63529b0c8b1aca290278c (diff)
downloadframeworks_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/Camera2Client.h')
-rw-r--r--services/camera/libcameraservice/Camera2Client.h201
1 files changed, 0 insertions, 201 deletions
diff --git a/services/camera/libcameraservice/Camera2Client.h b/services/camera/libcameraservice/Camera2Client.h
deleted file mode 100644
index 078e3a3..0000000
--- a/services/camera/libcameraservice/Camera2Client.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (C) 2012 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_CAMERA2CLIENT_H
-#define ANDROID_SERVERS_CAMERA_CAMERA2CLIENT_H
-
-#include "CameraDeviceBase.h"
-#include "CameraService.h"
-#include "camera2/Parameters.h"
-#include "camera2/FrameProcessor.h"
-#include "camera2/StreamingProcessor.h"
-#include "camera2/JpegProcessor.h"
-#include "camera2/ZslProcessorInterface.h"
-#include "camera2/CaptureSequencer.h"
-#include "camera2/CallbackProcessor.h"
-#include "Camera2ClientBase.h"
-
-namespace android {
-
-class IMemory;
-/**
- * Interface between android.hardware.Camera API and Camera HAL device for versions
- * CAMERA_DEVICE_API_VERSION_2_0 and 3_0.
- */
-class Camera2Client :
- public Camera2ClientBase<CameraService::Client>
-{
-public:
- /**
- * ICamera interface (see ICamera for details)
- */
-
- virtual void disconnect();
- virtual status_t connect(const sp<ICameraClient>& client);
- virtual status_t lock();
- virtual status_t unlock();
- virtual status_t setPreviewDisplay(const sp<Surface>& surface);
- virtual status_t setPreviewTexture(
- const sp<IGraphicBufferProducer>& bufferProducer);
- virtual void setPreviewCallbackFlag(int flag);
- virtual status_t setPreviewCallbackTarget(
- const sp<IGraphicBufferProducer>& callbackProducer);
-
- virtual status_t startPreview();
- virtual void stopPreview();
- virtual bool previewEnabled();
- virtual status_t storeMetaDataInBuffers(bool enabled);
- virtual status_t startRecording();
- virtual void stopRecording();
- virtual bool recordingEnabled();
- virtual void releaseRecordingFrame(const sp<IMemory>& mem);
- virtual status_t autoFocus();
- virtual status_t cancelAutoFocus();
- virtual status_t takePicture(int msgType);
- virtual status_t setParameters(const String8& params);
- virtual String8 getParameters() const;
- virtual status_t sendCommand(int32_t cmd, int32_t arg1, int32_t arg2);
-
- /**
- * Interface used by CameraService
- */
-
- Camera2Client(const sp<CameraService>& cameraService,
- const sp<ICameraClient>& cameraClient,
- const String16& clientPackageName,
- int cameraId,
- int cameraFacing,
- int clientPid,
- uid_t clientUid,
- int servicePid,
- int deviceVersion);
-
- virtual ~Camera2Client();
-
- status_t initialize(camera_module_t *module);
-
- virtual status_t dump(int fd, const Vector<String16>& args);
-
- /**
- * Interface used by CameraDeviceBase
- */
-
- virtual void notifyAutoFocus(uint8_t newState, int triggerId);
- virtual void notifyAutoExposure(uint8_t newState, int triggerId);
-
- /**
- * Interface used by independent components of Camera2Client.
- */
-
- camera2::SharedParameters& getParameters();
-
- int getPreviewStreamId() const;
- int getCaptureStreamId() const;
- int getCallbackStreamId() const;
- int getRecordingStreamId() const;
- int getZslStreamId() const;
-
- status_t registerFrameListener(int32_t minId, int32_t maxId,
- wp<camera2::FrameProcessor::FilteredListener> listener);
- status_t removeFrameListener(int32_t minId, int32_t maxId,
- wp<camera2::FrameProcessor::FilteredListener> listener);
-
- status_t stopStream();
-
- static size_t calculateBufferSize(int width, int height,
- int format, int stride);
-
- static const int32_t kPreviewRequestIdStart = 10000000;
- static const int32_t kPreviewRequestIdEnd = 20000000;
-
- static const int32_t kRecordingRequestIdStart = 20000000;
- static const int32_t kRecordingRequestIdEnd = 30000000;
-
- static const int32_t kCaptureRequestIdStart = 30000000;
- static const int32_t kCaptureRequestIdEnd = 40000000;
-
-private:
- /** ICamera interface-related private members */
- typedef camera2::Parameters Parameters;
-
- status_t setPreviewWindowL(const sp<IBinder>& binder,
- sp<ANativeWindow> window);
- status_t startPreviewL(Parameters &params, bool restart);
- void stopPreviewL();
- status_t startRecordingL(Parameters &params, bool restart);
- bool recordingEnabledL();
-
- // Individual commands for sendCommand()
- status_t commandStartSmoothZoomL();
- status_t commandStopSmoothZoomL();
- status_t commandSetDisplayOrientationL(int degrees);
- status_t commandEnableShutterSoundL(bool enable);
- status_t commandPlayRecordingSoundL();
- status_t commandStartFaceDetectionL(int type);
- status_t commandStopFaceDetectionL(Parameters &params);
- status_t commandEnableFocusMoveMsgL(bool enable);
- status_t commandPingL();
- status_t commandSetVideoBufferCountL(size_t count);
-
- // Current camera device configuration
- camera2::SharedParameters mParameters;
-
- /** Camera device-related private members */
-
- void setPreviewCallbackFlagL(Parameters &params, int flag);
- status_t updateRequests(Parameters &params);
- int mDeviceVersion;
-
- // Used with stream IDs
- static const int NO_STREAM = -1;
-
- template <typename ProcessorT>
- status_t updateProcessorStream(sp<ProcessorT> processor, Parameters params);
- template <typename ProcessorT,
- status_t (ProcessorT::*updateStreamF)(const Parameters &)>
- status_t updateProcessorStream(sp<ProcessorT> processor, Parameters params);
-
- sp<camera2::FrameProcessor> mFrameProcessor;
-
- /* Preview/Recording related members */
-
- sp<IBinder> mPreviewSurface;
- sp<camera2::StreamingProcessor> mStreamingProcessor;
-
- /** Preview callback related members */
-
- sp<camera2::CallbackProcessor> mCallbackProcessor;
-
- /* Still image capture related members */
-
- sp<camera2::CaptureSequencer> mCaptureSequencer;
- sp<camera2::JpegProcessor> mJpegProcessor;
- sp<camera2::ZslProcessorInterface> mZslProcessor;
- sp<Thread> mZslProcessorThread;
-
- /** Notification-related members */
-
- bool mAfInMotion;
-
- /** Utility members */
-
- // Wait until the camera device has received the latest control settings
- status_t syncWithDevice();
-};
-
-}; // namespace android
-
-#endif