summaryrefslogtreecommitdiff
path: root/guest/hals/camera/EmulatedCamera3.h
diff options
context:
space:
mode:
Diffstat (limited to 'guest/hals/camera/EmulatedCamera3.h')
-rw-r--r--guest/hals/camera/EmulatedCamera3.h196
1 files changed, 0 insertions, 196 deletions
diff --git a/guest/hals/camera/EmulatedCamera3.h b/guest/hals/camera/EmulatedCamera3.h
deleted file mode 100644
index 92fbb4d7..00000000
--- a/guest/hals/camera/EmulatedCamera3.h
+++ /dev/null
@@ -1,196 +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 HW_EMULATOR_CAMERA_EMULATED_CAMERA3_H
-#define HW_EMULATOR_CAMERA_EMULATED_CAMERA3_H
-
-/**
- * Contains declaration of a class EmulatedCamera that encapsulates
- * functionality common to all version 3.0 emulated camera devices. Instances
- * of this class (for each emulated camera) are created during the construction
- * of the EmulatedCameraFactory instance. This class serves as an entry point
- * for all camera API calls that defined by camera3_device_ops_t API.
- */
-
-#include "EmulatedBaseCamera.h"
-#include "hardware/camera3.h"
-#include "system/camera_metadata.h"
-
-namespace android {
-
-/**
- * Encapsulates functionality common to all version 3.0 emulated camera devices
- *
- * Note that EmulatedCameraFactory instantiates an object of this class just
- * once, when EmulatedCameraFactory instance gets constructed. Connection to /
- * disconnection from the actual camera device is handled by calls to
- * connectDevice(), and closeCamera() methods of this class that are invoked in
- * response to hw_module_methods_t::open, and camera_device::close callbacks.
- */
-class EmulatedCamera3 : public camera3_device, public EmulatedBaseCamera {
- public:
- /* Constructs EmulatedCamera3 instance.
- * Param:
- * cameraId - Zero based camera identifier, which is an index of the camera
- * instance in camera factory's array.
- * module - Emulated camera HAL module descriptor.
- */
- EmulatedCamera3(int cameraId, struct hw_module_t *module);
-
- /* Destructs EmulatedCamera2 instance. */
- virtual ~EmulatedCamera3();
-
- /* List of all defined capabilities plus useful HW levels */
- enum AvailableCapabilities {
- BACKWARD_COMPATIBLE,
- MANUAL_SENSOR,
- MANUAL_POST_PROCESSING,
- RAW,
- PRIVATE_REPROCESSING,
- READ_SENSOR_SETTINGS,
- BURST_CAPTURE,
- YUV_REPROCESSING,
- DEPTH_OUTPUT,
- CONSTRAINED_HIGH_SPEED_VIDEO,
- // Levels
- FULL_LEVEL,
-
- NUM_CAPABILITIES
- };
-
- // Char strings for above enum, with size NUM_CAPABILITIES
- static const char *sAvailableCapabilitiesStrings[];
-
- /****************************************************************************
- * Abstract API
- ***************************************************************************/
-
- public:
- /****************************************************************************
- * Public API
- ***************************************************************************/
-
- public:
- virtual status_t Initialize(const cvd::CameraDefinition &params);
-
- /****************************************************************************
- * Camera module API and generic hardware device API implementation
- ***************************************************************************/
-
- public:
- virtual status_t connectCamera(hw_device_t **device);
-
- virtual status_t closeCamera();
-
- virtual status_t getCameraInfo(struct camera_info *info);
-
- /****************************************************************************
- * Camera API implementation.
- * These methods are called from the camera API callback routines.
- ***************************************************************************/
-
- protected:
- virtual status_t initializeDevice(const camera3_callback_ops *callbackOps);
-
- virtual status_t configureStreams(camera3_stream_configuration *streamList);
-
- virtual status_t registerStreamBuffers(
- const camera3_stream_buffer_set *bufferSet);
-
- virtual const camera_metadata_t *constructDefaultRequestSettings(int type);
-
- virtual status_t processCaptureRequest(camera3_capture_request *request);
-
- virtual status_t flush();
-
- /** Debug methods */
-
- virtual void dump(int fd);
-
- /****************************************************************************
- * Camera API callbacks as defined by camera3_device_ops structure. See
- * hardware/libhardware/include/hardware/camera3.h for information on each
- * of these callbacks. Implemented in this class, these callbacks simply
- * dispatch the call into an instance of EmulatedCamera3 class defined in
- * the 'camera_device3' parameter.
- ***************************************************************************/
-
- private:
- /** Startup */
- static int initialize(const struct camera3_device *,
- const camera3_callback_ops_t *callback_ops);
-
- /** Stream configuration and buffer registration */
-
- static int configure_streams(const struct camera3_device *,
- camera3_stream_configuration_t *stream_list);
-
- static int register_stream_buffers(
- const struct camera3_device *,
- const camera3_stream_buffer_set_t *buffer_set);
-
- /** Template request settings provision */
-
- static const camera_metadata_t *construct_default_request_settings(
- const struct camera3_device *, int type);
-
- /** Submission of capture requests to HAL */
-
- static int process_capture_request(const struct camera3_device *,
- camera3_capture_request_t *request);
-
- static void dump(const camera3_device_t *, int fd);
-
- static int flush(const camera3_device_t *);
-
- /** For hw_device_t ops */
- static int close(struct hw_device_t *device);
-
- /****************************************************************************
- * Data members shared with implementations
- ***************************************************************************/
- protected:
- enum {
- // State at construction time, and after a device operation error
- STATUS_ERROR = 0,
- // State after startup-time init and after device instance close
- STATUS_CLOSED,
- // State after being opened, before device instance init
- STATUS_OPEN,
- // State after device instance initialization
- STATUS_READY,
- // State while actively capturing data
- STATUS_ACTIVE
- } mStatus;
-
- /**
- * Callbacks back to the framework
- */
-
- void sendCaptureResult(camera3_capture_result_t *result);
- void sendNotify(camera3_notify_msg_t *msg);
-
- /****************************************************************************
- * Data members
- ***************************************************************************/
- private:
- static camera3_device_ops_t sDeviceOps;
- const camera3_callback_ops_t *mCallbackOps;
-};
-
-}; /* namespace android */
-
-#endif /* HW_EMULATOR_CAMERA_EMULATED_CAMERA3_H */