Revert "Revert "Multi-project commit, other commits weren't ready after all. (Revert)""
This reverts commit a1e84accb500276759cd32101496925081641aed
diff --git a/tools/emulator/system/camera/Android.mk b/tools/emulator/system/camera/Android.mk
index c51f621..61e1e83 100755
--- a/tools/emulator/system/camera/Android.mk
+++ b/tools/emulator/system/camera/Android.mk
@@ -35,10 +35,9 @@
libandroid_runtime \
LOCAL_C_INCLUDES += external/jpeg \
- external/skia/include/core/ \
- frameworks/native/include/media/hardware \
- frameworks/base/core/jni/android/graphics \
- $(call include-path-for, camera)
+ external/skia/include/core/ \
+ frameworks/native/include/media/hardware \
+ frameworks/base/core/jni/android/graphics
LOCAL_SRC_FILES := \
EmulatedCameraHal.cpp \
@@ -54,10 +53,7 @@
PreviewWindow.cpp \
CallbackNotifier.cpp \
QemuClient.cpp \
- JpegCompressor.cpp \
- EmulatedCamera2.cpp \
- EmulatedFakeCamera2.cpp \
- EmulatedQemuCamera2.cpp
+ JpegCompressor.cpp
ifeq ($(TARGET_PRODUCT),vbox_x86)
LOCAL_MODULE := camera.vbox_x86
diff --git a/tools/emulator/system/camera/EmulatedCamera2.cpp b/tools/emulator/system/camera/EmulatedCamera2.cpp
deleted file mode 100644
index ff78c71..0000000
--- a/tools/emulator/system/camera/EmulatedCamera2.cpp
+++ /dev/null
@@ -1,530 +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.
- */
-
-/*
- * Contains implementation of a class EmulatedCamera that encapsulates
- * functionality common to all version 2.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 camera2_device_ops_t API.
- */
-
-#define LOG_NDEBUG 0
-#define LOG_TAG "EmulatedCamera2_Camera"
-#include <cutils/log.h>
-
-#include "EmulatedCamera2.h"
-#include "system/camera_metadata.h"
-
-namespace android {
-
-/* Constructs EmulatedCamera2 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.
- */
-EmulatedCamera2::EmulatedCamera2(int cameraId,
- struct hw_module_t* module):
- EmulatedBaseCamera(cameraId,
- CAMERA_DEVICE_API_VERSION_2_0,
- &common,
- module)
-{
- common.close = EmulatedCamera2::close;
- ops = &sDeviceOps;
- priv = this;
-
- mRequestQueueDstOps.notify_queue_not_empty =
- EmulatedCamera2::request_queue_notify_queue_not_empty;
- mRequestQueueDstOps.parent = this;
-
- mRequestQueueDstOps.notify_queue_not_empty =
- EmulatedCamera2::reprocess_queue_notify_queue_not_empty;
- mReprocessQueueDstOps.parent = this;
-
- mFrameQueueSrcOps.buffer_count = EmulatedCamera2::frame_queue_buffer_count;
- mFrameQueueSrcOps.dequeue = EmulatedCamera2::frame_queue_dequeue;
- mFrameQueueSrcOps.free = EmulatedCamera2::frame_queue_free;
- mFrameQueueSrcOps.parent = this;
-
- mReprocessStreamOps.dequeue_buffer =
- EmulatedCamera2::reprocess_stream_dequeue_buffer;
- mReprocessStreamOps.enqueue_buffer =
- EmulatedCamera2::reprocess_stream_enqueue_buffer;
- mReprocessStreamOps.cancel_buffer =
- EmulatedCamera2::reprocess_stream_cancel_buffer;
- mReprocessStreamOps.set_buffer_count =
- EmulatedCamera2::reprocess_stream_set_buffer_count;
- mReprocessStreamOps.set_crop = EmulatedCamera2::reprocess_stream_set_crop;
- mReprocessStreamOps.set_timestamp =
- EmulatedCamera2::reprocess_stream_set_timestamp;
- mReprocessStreamOps.set_usage = EmulatedCamera2::reprocess_stream_set_usage;
- mReprocessStreamOps.set_swap_interval =
- EmulatedCamera2::reprocess_stream_set_swap_interval;
- mReprocessStreamOps.get_min_undequeued_buffer_count =
- EmulatedCamera2::reprocess_stream_get_min_undequeued_buffer_count;
- mReprocessStreamOps.lock_buffer =
- EmulatedCamera2::reprocess_stream_lock_buffer;
- mReprocessStreamOps.parent = this;
-
- mVendorTagOps.get_camera_vendor_section_name =
- EmulatedCamera2::get_camera_vendor_section_name;
- mVendorTagOps.get_camera_vendor_tag_name =
- EmulatedCamera2::get_camera_vendor_tag_name;
- mVendorTagOps.get_camera_vendor_tag_type =
- EmulatedCamera2::get_camera_vendor_tag_type;
- mVendorTagOps.parent = this;
-}
-
-/* Destructs EmulatedCamera2 instance. */
-EmulatedCamera2::~EmulatedCamera2() {
-}
-
-/****************************************************************************
- * Abstract API
- ***************************************************************************/
-
-/****************************************************************************
- * Public API
- ***************************************************************************/
-
-status_t EmulatedCamera2::Initialize() {
- return NO_ERROR;
-}
-
-/****************************************************************************
- * Camera API implementation
- ***************************************************************************/
-
-status_t EmulatedCamera2::connectCamera(hw_device_t** device) {
- return NO_ERROR;
-}
-
-status_t EmulatedCamera2::closeCamera() {
- return NO_ERROR;
-}
-
-status_t EmulatedCamera2::getCameraInfo(struct camera_info* info) {
-
- return EmulatedBaseCamera::getCameraInfo(info);
-}
-
-/****************************************************************************
- * Camera API implementation.
- * These methods are called from the camera API callback routines.
- ***************************************************************************/
-
-/** Request input queue */
-
-int EmulatedCamera2::setRequestQueueSrcOps(
- camera2_metadata_queue_src_ops *request_queue_src_ops) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::requestQueueNotifyNotEmpty() {
- return NO_ERROR;
-}
-
-/** Reprocessing input queue */
-
-int EmulatedCamera2::setReprocessQueueSrcOps(
- camera2_metadata_queue_src_ops *reprocess_queue_src_ops) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessQueueNotifyNotEmpty() {
- return NO_ERROR;
-}
-
-/** Frame output queue */
-
-int EmulatedCamera2::setFrameQueueDstOps(camera2_metadata_queue_dst_ops *frame_queue_dst_ops) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::frameQueueBufferCount() {
- return NO_ERROR;
-}
-int EmulatedCamera2::frameQueueDequeue(camera_metadata_t **buffer) {
- return NO_ERROR;
-}
-int EmulatedCamera2::frameQueueFree(camera_metadata_t *old_buffer) {
- return NO_ERROR;
-}
-
-/** Notifications to application */
-int EmulatedCamera2::setNotifyCallback(camera2_notify_callback notify_cb) {
- return NO_ERROR;
-}
-
-/** Count of requests in flight */
-int EmulatedCamera2::getInProgressCount() {
- return NO_ERROR;
-}
-
-/** Cancel all captures in flight */
-int EmulatedCamera2::flushCapturesInProgress() {
- return NO_ERROR;
-}
-
-/** Reprocessing input stream management */
-int EmulatedCamera2::reprocessStreamDequeueBuffer(buffer_handle_t** buffer,
- int *stride) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamEnqueueBuffer(buffer_handle_t* buffer) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamCancelBuffer(buffer_handle_t* buffer) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamSetBufferCount(int count) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamSetCrop(int left, int top, int right, int bottom) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamSetTimestamp(int64_t timestamp) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamSetUsage(int usage) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamSetSwapInterval(int interval) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamGetMinUndequeuedBufferCount(int *count) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocessStreamLockBuffer(buffer_handle_t *buffer) {
- return NO_ERROR;
-}
-
-/** Output stream creation and management */
-
-int EmulatedCamera2::getStreamSlotCount() {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::allocateStream(uint32_t stream_slot,
- uint32_t width,
- uint32_t height,
- int format,
- camera2_stream_ops_t *stream_ops) {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::releaseStream(uint32_t stream_slot) {
- return NO_ERROR;
-}
-
-/** Custom tag query methods */
-
-const char* EmulatedCamera2::getVendorSectionName(uint32_t tag) {
- return NULL;
-}
-
-const char* EmulatedCamera2::getVendorTagName(uint32_t tag) {
- return NULL;
-}
-
-int EmulatedCamera2::getVendorTagType(uint32_t tag) {
- return -1;
-}
-
-/** Shutdown and debug methods */
-
-int EmulatedCamera2::release() {
- return NO_ERROR;
-}
-
-int EmulatedCamera2::dump(int fd) {
- return NO_ERROR;
-}
-
-/****************************************************************************
- * Private API.
- ***************************************************************************/
-
-/****************************************************************************
- * Camera API callbacks as defined by camera2_device_ops structure. See
- * hardware/libhardware/include/hardware/camera2.h for information on each
- * of these callbacks. Implemented in this class, these callbacks simply
- * dispatch the call into an instance of EmulatedCamera2 class defined by the
- * 'camera_device2' parameter.
- ***************************************************************************/
-
-int EmulatedCamera2::set_request_queue_src_ops(struct camera2_device *d,
- camera2_metadata_queue_src_ops *queue_src_ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- return ec->setRequestQueueSrcOps(queue_src_ops);
-}
-
-int EmulatedCamera2::get_request_queue_dst_ops(struct camera2_device *d,
- camera2_metadata_queue_dst_ops **queue_dst_ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- *queue_dst_ops = static_cast<camera2_metadata_queue_dst_ops*>(
- &ec->mRequestQueueDstOps);
- return NO_ERROR;
-}
-
-int EmulatedCamera2::request_queue_notify_queue_not_empty(
- camera2_metadata_queue_dst_ops *q) {
- EmulatedCamera2* ec = static_cast<QueueDstOps*>(q)->parent;
- return ec->requestQueueNotifyNotEmpty();
-}
-
-int EmulatedCamera2::set_reprocess_queue_src_ops(struct camera2_device *d,
- camera2_metadata_queue_src_ops *queue_src_ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- return ec->setReprocessQueueSrcOps(queue_src_ops);
-}
-
-int EmulatedCamera2::get_reprocess_queue_dst_ops(struct camera2_device *d,
- camera2_metadata_queue_dst_ops **queue_dst_ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- *queue_dst_ops = static_cast<camera2_metadata_queue_dst_ops*>(
- &ec->mReprocessQueueDstOps);
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocess_queue_notify_queue_not_empty(
- camera2_metadata_queue_dst_ops *q) {
- EmulatedCamera2* ec = static_cast<QueueDstOps*>(q)->parent;
- return ec->reprocessQueueNotifyNotEmpty();
-}
-
-int EmulatedCamera2::set_frame_queue_dst_ops(struct camera2_device *d,
- camera2_metadata_queue_dst_ops *queue_dst_ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- return ec->setFrameQueueDstOps(queue_dst_ops);
-}
-
-int EmulatedCamera2::get_frame_queue_src_ops(struct camera2_device *d,
- camera2_metadata_queue_src_ops **queue_src_ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- *queue_src_ops = static_cast<camera2_metadata_queue_src_ops*>(
- &ec->mFrameQueueSrcOps);
- return NO_ERROR;
-}
-
-int EmulatedCamera2::frame_queue_buffer_count(camera2_metadata_queue_src_ops *q) {
- EmulatedCamera2 *ec = static_cast<QueueSrcOps*>(q)->parent;
- return ec->frameQueueBufferCount();
-}
-
-int EmulatedCamera2::frame_queue_dequeue(camera2_metadata_queue_src_ops *q,
- camera_metadata_t **buffer) {
- EmulatedCamera2 *ec = static_cast<QueueSrcOps*>(q)->parent;
- return ec->frameQueueDequeue(buffer);
-}
-
-int EmulatedCamera2::frame_queue_free(camera2_metadata_queue_src_ops *q,
- camera_metadata_t *old_buffer) {
- EmulatedCamera2 *ec = static_cast<QueueSrcOps*>(q)->parent;
- return ec->frameQueueFree(old_buffer);
-}
-
-int EmulatedCamera2::set_notify_callback(struct camera2_device *d,
- camera2_notify_callback notify_cb) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- return ec->setNotifyCallback(notify_cb);
-}
-
-int EmulatedCamera2::get_in_progress_count(struct camera2_device *d) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- return ec->getInProgressCount();
-}
-
-int EmulatedCamera2::flush_captures_in_progress(struct camera2_device *d) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- return ec->flushCapturesInProgress();
-}
-
-int EmulatedCamera2::get_reprocess_stream_ops(camera2_device_t *d,
- camera2_stream_ops **stream) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- *stream = static_cast<camera2_stream_ops*>(&ec->mReprocessStreamOps);
- return NO_ERROR;
-}
-
-int EmulatedCamera2::reprocess_stream_dequeue_buffer(camera2_stream_ops *s,
- buffer_handle_t** buffer, int *stride) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamDequeueBuffer(buffer, stride);
-}
-
-int EmulatedCamera2::reprocess_stream_enqueue_buffer(camera2_stream_ops *s,
- buffer_handle_t* buffer) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamEnqueueBuffer(buffer);
-}
-
-int EmulatedCamera2::reprocess_stream_cancel_buffer(camera2_stream_ops *s,
- buffer_handle_t* buffer) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamCancelBuffer(buffer);
-}
-
-int EmulatedCamera2::reprocess_stream_set_buffer_count(camera2_stream_ops *s,
- int count) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamSetBufferCount(count);
-}
-
-int EmulatedCamera2::reprocess_stream_set_crop(camera2_stream_ops *s,
- int left, int top, int right, int bottom) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamSetCrop(left, top, right, bottom);
-}
-
-int EmulatedCamera2::reprocess_stream_set_timestamp(camera2_stream_ops *s,
- int64_t timestamp) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamSetTimestamp(timestamp);
-}
-
-int EmulatedCamera2::reprocess_stream_set_usage(camera2_stream_ops *s,
- int usage) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamSetUsage(usage);
-}
-
-int EmulatedCamera2::reprocess_stream_set_swap_interval(camera2_stream_ops *s,
- int interval) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamSetSwapInterval(interval);
-}
-
-int EmulatedCamera2::reprocess_stream_get_min_undequeued_buffer_count(
- const camera2_stream_ops *s,
- int *count) {
- EmulatedCamera2* ec = static_cast<const StreamOps*>(s)->parent;
- return ec->reprocessStreamGetMinUndequeuedBufferCount(count);
-}
-
-int EmulatedCamera2::reprocess_stream_lock_buffer(camera2_stream_ops *s,
- buffer_handle_t* buffer) {
- EmulatedCamera2* ec = static_cast<StreamOps*>(s)->parent;
- return ec->reprocessStreamLockBuffer(buffer);
-}
-
-int EmulatedCamera2::get_stream_slot_count(struct camera2_device *d) {
- EmulatedCamera2* ec =
- static_cast<EmulatedCamera2*>(d);
- return ec->getStreamSlotCount();
-}
-
-int EmulatedCamera2::allocate_stream(struct camera2_device *d,
- uint32_t stream_slot,
- uint32_t width,
- uint32_t height,
- int format,
- camera2_stream_ops_t *stream_ops) {
- EmulatedCamera2* ec =
- static_cast<EmulatedCamera2*>(d);
- return ec->allocateStream(stream_slot, width, height, format, stream_ops);
-}
-
-int EmulatedCamera2::release_stream(struct camera2_device *d,
- uint32_t stream_slot) {
- EmulatedCamera2* ec =
- static_cast<EmulatedCamera2*>(d);
- return ec->releaseStream(stream_slot);
-}
-
-void EmulatedCamera2::release(struct camera2_device *d) {
- EmulatedCamera2* ec =
- static_cast<EmulatedCamera2*>(d);
- ec->release();
-}
-
-int EmulatedCamera2::dump(struct camera2_device *d, int fd) {
- EmulatedCamera2* ec =
- static_cast<EmulatedCamera2*>(d);
- return ec->dump(fd);
-}
-
-int EmulatedCamera2::close(struct hw_device_t* device) {
- EmulatedCamera2* ec =
- static_cast<EmulatedCamera2*>(
- reinterpret_cast<struct camera2_device*>(device) );
- if (ec == NULL) {
- ALOGE("%s: Unexpected NULL camera2 device", __FUNCTION__);
- return -EINVAL;
- }
- return ec->closeCamera();
-}
-
-int EmulatedCamera2::get_metadata_vendor_tag_ops(struct camera2_device *d,
- vendor_tag_query_ops_t **ops) {
- EmulatedCamera2* ec = static_cast<EmulatedCamera2*>(d);
- *ops = static_cast<vendor_tag_query_ops_t*>(
- &ec->mVendorTagOps);
- return NO_ERROR;
-}
-
-const char* EmulatedCamera2::get_camera_vendor_section_name(
- const vendor_tag_query_ops_t *v,
- uint32_t tag) {
- EmulatedCamera2* ec = static_cast<const TagOps*>(v)->parent;
- return ec->getVendorSectionName(tag);
-}
-
-const char* EmulatedCamera2::get_camera_vendor_tag_name(
- const vendor_tag_query_ops_t *v,
- uint32_t tag) {
- EmulatedCamera2* ec = static_cast<const TagOps*>(v)->parent;
- return ec->getVendorTagName(tag);
-}
-
-int EmulatedCamera2::get_camera_vendor_tag_type(
- const vendor_tag_query_ops_t *v,
- uint32_t tag) {
- EmulatedCamera2* ec = static_cast<const TagOps*>(v)->parent;
- return ec->getVendorTagType(tag);
-}
-
-camera2_device_ops_t EmulatedCamera2::sDeviceOps = {
- EmulatedCamera2::set_request_queue_src_ops,
- EmulatedCamera2::get_request_queue_dst_ops,
- EmulatedCamera2::set_reprocess_queue_src_ops,
- EmulatedCamera2::get_reprocess_queue_dst_ops,
- EmulatedCamera2::set_frame_queue_dst_ops,
- EmulatedCamera2::get_frame_queue_src_ops,
- EmulatedCamera2::set_notify_callback,
- EmulatedCamera2::get_in_progress_count,
- EmulatedCamera2::flush_captures_in_progress,
- EmulatedCamera2::get_reprocess_stream_ops,
- EmulatedCamera2::get_stream_slot_count,
- EmulatedCamera2::allocate_stream,
- EmulatedCamera2::release_stream,
- EmulatedCamera2::get_metadata_vendor_tag_ops,
- EmulatedCamera2::release,
- EmulatedCamera2::dump
-};
-
-}; /* namespace android */
diff --git a/tools/emulator/system/camera/EmulatedCamera2.h b/tools/emulator/system/camera/EmulatedCamera2.h
deleted file mode 100644
index e8a8083..0000000
--- a/tools/emulator/system/camera/EmulatedCamera2.h
+++ /dev/null
@@ -1,305 +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 HW_EMULATOR_CAMERA_EMULATED_CAMERA2_H
-#define HW_EMULATOR_CAMERA_EMULATED_CAMERA2_H
-
-/*
- * Contains declaration of a class EmulatedCamera that encapsulates
- * functionality common to all version 2.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 camera2_device_ops_t API.
- */
-
-#include "hardware/camera2.h"
-#include "system/camera_metadata.h"
-#include "EmulatedBaseCamera.h"
-
-namespace android {
-
-/* Encapsulates functionality common to all version 2.0 emulated camera devices
- *
- * Note that EmulatedCameraFactory instantiates 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 EmulatedCamera2 : public camera2_device, public EmulatedBaseCamera {
-public:
- /* Constructs EmulatedCamera2 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.
- */
- EmulatedCamera2(int cameraId,
- struct hw_module_t* module);
-
- /* Destructs EmulatedCamera2 instance. */
- virtual ~EmulatedCamera2();
-
- /****************************************************************************
- * Abstract API
- ***************************************************************************/
-
-public:
-
- /****************************************************************************
- * Public API
- ***************************************************************************/
-
-public:
- virtual status_t Initialize();
-
- /****************************************************************************
- * Camera 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:
- /** Request input queue */
-
- int setRequestQueueSrcOps(
- camera2_metadata_queue_src_ops *request_queue_src_ops);
-
- int requestQueueNotifyNotEmpty();
-
- /** Reprocessing input queue */
-
- int setReprocessQueueSrcOps(
- camera2_metadata_queue_src_ops *reprocess_queue_src_ops);
-
- int reprocessQueueNotifyNotEmpty();
-
- /** Frame output queue */
-
- int setFrameQueueDstOps(camera2_metadata_queue_dst_ops *frame_queue_dst_ops);
-
- int frameQueueBufferCount();
- int frameQueueDequeue(camera_metadata_t **buffer);
- int frameQueueFree(camera_metadata_t *old_buffer);
-
- /** Notifications to application */
- int setNotifyCallback(camera2_notify_callback notify_cb);
-
- /** Count of requests in flight */
- int getInProgressCount();
-
- /** Cancel all captures in flight */
- int flushCapturesInProgress();
-
- /** Reprocessing input stream management */
- int reprocessStreamDequeueBuffer(buffer_handle_t** buffer,
- int *stride);
-
- int reprocessStreamEnqueueBuffer(buffer_handle_t* buffer);
-
- int reprocessStreamCancelBuffer(buffer_handle_t* buffer);
-
- int reprocessStreamSetBufferCount(int count);
-
- int reprocessStreamSetCrop(int left, int top, int right, int bottom);
-
- int reprocessStreamSetTimestamp(int64_t timestamp);
-
- int reprocessStreamSetUsage(int usage);
-
- int reprocessStreamSetSwapInterval(int interval);
-
- int reprocessStreamGetMinUndequeuedBufferCount(int *count);
-
- int reprocessStreamLockBuffer(buffer_handle_t *buffer);
-
- /** Output stream creation and management */
-
- int getStreamSlotCount();
-
- int allocateStream(uint32_t stream_slot,
- uint32_t width,
- uint32_t height,
- int format,
- camera2_stream_ops_t *stream_ops);
-
- int releaseStream(uint32_t stream_slot);
-
- /** Custom tag definitions */
- const char* getVendorSectionName(uint32_t tag);
- const char* getVendorTagName(uint32_t tag);
- int getVendorTagType(uint32_t tag);
-
- /** Shutdown and debug methods */
-
- int release();
-
- int dump(int fd);
-
- int close();
-
- /****************************************************************************
- * Camera API callbacks as defined by camera2_device_ops structure. See
- * hardware/libhardware/include/hardware/camera2.h for information on each
- * of these callbacks. Implemented in this class, these callbacks simply
- * dispatch the call into an instance of EmulatedCamera2 class defined in the
- * 'camera_device2' parameter.
- ***************************************************************************/
-
-private:
- /** Input request queue */
- static int set_request_queue_src_ops(camera2_device_t *,
- camera2_metadata_queue_src_ops *queue_src_ops);
- static int get_request_queue_dst_ops(camera2_device_t *,
- camera2_metadata_queue_dst_ops **queue_dst_ops);
- // for get_request_queue_dst_ops
- static int request_queue_notify_queue_not_empty(
- camera2_metadata_queue_dst_ops *);
-
- /** Input reprocess queue */
- static int set_reprocess_queue_src_ops(camera2_device_t *,
- camera2_metadata_queue_src_ops *reprocess_queue_src_ops);
- static int get_reprocess_queue_dst_ops(camera2_device_t *,
- camera2_metadata_queue_dst_ops **queue_dst_ops);
- // for reprocess_queue_dst_ops
- static int reprocess_queue_notify_queue_not_empty(
- camera2_metadata_queue_dst_ops *);
-
- /** Output frame queue */
- static int set_frame_queue_dst_ops(camera2_device_t *,
- camera2_metadata_queue_dst_ops *queue_dst_ops);
- static int get_frame_queue_src_ops(camera2_device_t *,
- camera2_metadata_queue_src_ops **queue_src_ops);
- // for get_frame_queue_src_ops
- static int frame_queue_buffer_count(camera2_metadata_queue_src_ops *);
- static int frame_queue_dequeue(camera2_metadata_queue_src_ops *,
- camera_metadata_t **buffer);
- static int frame_queue_free(camera2_metadata_queue_src_ops *,
- camera_metadata_t *old_buffer);
-
- /** Notifications to application */
- static int set_notify_callback(camera2_device_t *,
- camera2_notify_callback notify_cb);
-
- /** In-progress request management */
- static int get_in_progress_count(camera2_device_t *);
-
- static int flush_captures_in_progress(camera2_device_t *);
-
- /** Input reprocessing stream */
- static int get_reprocess_stream_ops(camera2_device_t *,
- camera2_stream_ops_t **stream);
- // for get_reprocess_stream_ops
- static int reprocess_stream_dequeue_buffer(camera2_stream_ops *,
- buffer_handle_t** buffer, int *stride);
- static int reprocess_stream_enqueue_buffer(camera2_stream_ops *,
- buffer_handle_t* buffer);
- static int reprocess_stream_cancel_buffer(camera2_stream_ops *,
- buffer_handle_t* buffer);
- static int reprocess_stream_set_buffer_count(camera2_stream_ops *,
- int count);
- static int reprocess_stream_set_crop(camera2_stream_ops *,
- int left, int top, int right, int bottom);
- static int reprocess_stream_set_timestamp(camera2_stream_ops *,
- int64_t timestamp);
- static int reprocess_stream_set_usage(camera2_stream_ops *,
- int usage);
- static int reprocess_stream_set_swap_interval(camera2_stream_ops *,
- int interval);
- static int reprocess_stream_get_min_undequeued_buffer_count(
- const camera2_stream_ops *,
- int *count);
- static int reprocess_stream_lock_buffer(camera2_stream_ops *,
- buffer_handle_t* buffer);
-
- /** Output stream allocation and management */
-
- static int get_stream_slot_count(camera2_device_t *);
-
- static int allocate_stream(camera2_device_t *,
- uint32_t stream_slot,
- uint32_t width,
- uint32_t height,
- int format,
- camera2_stream_ops_t *stream_ops);
-
- static int release_stream(camera2_device_t *,
- uint32_t stream_slot);
-
- static void release(camera2_device_t *);
-
- /** Vendor metadata registration */
-
- static int get_metadata_vendor_tag_ops(camera2_device_t *,
- vendor_tag_query_ops_t **ops);
- // for get_metadata_vendor_tag_ops
- static const char* get_camera_vendor_section_name(
- const vendor_tag_query_ops_t *,
- uint32_t tag);
- static const char* get_camera_vendor_tag_name(
- const vendor_tag_query_ops_t *,
- uint32_t tag);
- static int get_camera_vendor_tag_type(
- const vendor_tag_query_ops_t *,
- uint32_t tag);
-
- static int dump(camera2_device_t *, int fd);
-
- static int close(struct hw_device_t* device);
-
- /****************************************************************************
- * Data members
- ***************************************************************************/
-
- private:
- static camera2_device_ops_t sDeviceOps;
-
- struct QueueDstOps : public camera2_metadata_queue_dst_ops {
- EmulatedCamera2 *parent;
- };
-
- struct QueueSrcOps : public camera2_metadata_queue_src_ops {
- EmulatedCamera2 *parent;
- };
-
- struct StreamOps : public camera2_stream_ops {
- EmulatedCamera2 *parent;
- };
-
- struct TagOps : public vendor_tag_query_ops {
- EmulatedCamera2 *parent;
- };
-
- QueueDstOps mRequestQueueDstOps;
- QueueDstOps mReprocessQueueDstOps;
- QueueSrcOps mFrameQueueSrcOps;
- StreamOps mReprocessStreamOps;
- TagOps mVendorTagOps;
-};
-
-}; /* namespace android */
-
-#endif /* HW_EMULATOR_CAMERA_EMULATED_CAMERA2_H */
diff --git a/tools/emulator/system/camera/EmulatedCameraFactory.cpp b/tools/emulator/system/camera/EmulatedCameraFactory.cpp
index 2960751..fbb05b5 100755
--- a/tools/emulator/system/camera/EmulatedCameraFactory.cpp
+++ b/tools/emulator/system/camera/EmulatedCameraFactory.cpp
@@ -25,7 +25,6 @@
#include <cutils/properties.h>
#include "EmulatedQemuCamera.h"
#include "EmulatedFakeCamera.h"
-#include "EmulatedFakeCamera2.h"
#include "EmulatedCameraFactory.h"
extern camera_module_t HAL_MODULE_INFO_SYM;
@@ -67,27 +66,13 @@
__FUNCTION__, mEmulatedCameraNum);
return;
}
- memset(mEmulatedCameras, 0,
- (mEmulatedCameraNum + 1) * sizeof(EmulatedBaseCamera*));
+ memset(mEmulatedCameras, 0, (mEmulatedCameraNum + 1) * sizeof(EmulatedCamera*));
}
/* Create, and initialize the fake camera */
- switch (getBackCameraHalVersion()) {
- case 1:
- mEmulatedCameras[camera_id] =
- new EmulatedFakeCamera(camera_id, false, &HAL_MODULE_INFO_SYM.common);
- break;
- case 2:
- mEmulatedCameras[camera_id] =
- new EmulatedFakeCamera2(camera_id, false, &HAL_MODULE_INFO_SYM.common);
- break;
- default:
- ALOGE("%s: Unknown back camera hal version requested: %d", __FUNCTION__,
- getBackCameraHalVersion());
- }
+ mEmulatedCameras[camera_id] =
+ new EmulatedFakeCamera(camera_id, true, &HAL_MODULE_INFO_SYM.common);
if (mEmulatedCameras[camera_id] != NULL) {
- ALOGV("%s: Back camera device version is %d", __FUNCTION__,
- getBackCameraHalVersion());
if (mEmulatedCameras[camera_id]->Initialize() != NO_ERROR) {
delete mEmulatedCameras[camera_id];
mEmulatedCameras--;
@@ -113,27 +98,13 @@
__FUNCTION__, mEmulatedCameraNum);
return;
}
- memset(mEmulatedCameras, 0,
- mEmulatedCameraNum * sizeof(EmulatedBaseCamera*));
+ memset(mEmulatedCameras, 0, mEmulatedCameraNum * sizeof(EmulatedCamera*));
}
/* Create, and initialize the fake camera */
- switch (getFrontCameraHalVersion()) {
- case 1:
- mEmulatedCameras[camera_id] =
- new EmulatedFakeCamera(camera_id, false, &HAL_MODULE_INFO_SYM.common);
- break;
- case 2:
- mEmulatedCameras[camera_id] =
- new EmulatedFakeCamera2(camera_id, false, &HAL_MODULE_INFO_SYM.common);
- break;
- default:
- ALOGE("%s: Unknown front camera hal version requested: %d", __FUNCTION__,
- getFrontCameraHalVersion());
- }
+ mEmulatedCameras[camera_id] =
+ new EmulatedFakeCamera(camera_id, false, &HAL_MODULE_INFO_SYM.common);
if (mEmulatedCameras[camera_id] != NULL) {
- ALOGV("%s: Front camera device version is %d", __FUNCTION__,
- getFrontCameraHalVersion());
if (mEmulatedCameras[camera_id]->Initialize() != NO_ERROR) {
delete mEmulatedCameras[camera_id];
mEmulatedCameras--;
@@ -377,23 +348,6 @@
}
}
-int EmulatedCameraFactory::getBackCameraHalVersion()
-{
- /* Defined by 'qemu.sf.back_camera_hal_version' boot property: if the
- * property doesn't exist, it is assumed to be 1. */
- char prop[PROPERTY_VALUE_MAX];
- if (property_get("qemu.sf.back_camera_hal", prop, NULL) > 0) {
- char *prop_end = prop;
- int val = strtol(prop, &prop_end, 10);
- if (*prop_end == '\0') {
- return val;
- }
- // Badly formatted property, should just be a number
- ALOGE("qemu.sf.back_camera_hal is not a number: %s", prop);
- }
- return 1;
-}
-
bool EmulatedCameraFactory::isFrontFakeCameraEmulationOn()
{
/* Defined by 'qemu.sf.fake_camera' boot property: if property exist, and
@@ -408,23 +362,6 @@
}
}
-int EmulatedCameraFactory::getFrontCameraHalVersion()
-{
- /* Defined by 'qemu.sf.front_camera_hal_version' boot property: if the
- * property doesn't exist, it is assumed to be 1. */
- char prop[PROPERTY_VALUE_MAX];
- if (property_get("qemu.sf.front_camera_hal", prop, NULL) > 0) {
- char *prop_end = prop;
- int val = strtol(prop, &prop_end, 10);
- if (*prop_end == '\0') {
- return val;
- }
- // Badly formatted property, should just be a number
- ALOGE("qemu.sf.front_camera_hal is not a number: %s", prop);
- }
- return 1;
-}
-
/********************************************************************************
* Initializer for the static member structure.
*******************************************************************************/
diff --git a/tools/emulator/system/camera/EmulatedCameraFactory.h b/tools/emulator/system/camera/EmulatedCameraFactory.h
index 123e735..7e3d4b2 100755
--- a/tools/emulator/system/camera/EmulatedCameraFactory.h
+++ b/tools/emulator/system/camera/EmulatedCameraFactory.h
@@ -134,15 +134,9 @@
/* Checks if fake camera emulation is on for the camera facing back. */
bool isBackFakeCameraEmulationOn();
- /* Gets camera device version number to use for back camera emulation */
- int getBackCameraHalVersion();
-
/* Checks if fake camera emulation is on for the camera facing front. */
bool isFrontFakeCameraEmulationOn();
- /* Gets camera device version number to use for front camera emulation */
- int getFrontCameraHalVersion();
-
/****************************************************************************
* Data members.
***************************************************************************/
diff --git a/tools/emulator/system/camera/EmulatedFakeCamera2.cpp b/tools/emulator/system/camera/EmulatedFakeCamera2.cpp
deleted file mode 100644
index aa62244..0000000
--- a/tools/emulator/system/camera/EmulatedFakeCamera2.cpp
+++ /dev/null
@@ -1,54 +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.
- */
-
-/*
- * Contains implementation of a class EmulatedFakeCamera2 that encapsulates
- * functionality of an advanced fake camera.
- */
-
-#define LOG_NDEBUG 0
-#define LOG_TAG "EmulatedCamera_FakeCamera2"
-#include <cutils/log.h>
-#include <cutils/properties.h>
-#include "EmulatedFakeCamera2.h"
-#include "EmulatedCameraFactory.h"
-
-namespace android {
-
-EmulatedFakeCamera2::EmulatedFakeCamera2(int cameraId,
- bool facingBack,
- struct hw_module_t* module)
- : EmulatedCamera2(cameraId,module),
- mFacingBack(facingBack)
-{
- ALOGD("Constructing emulated fake camera 2 facing %s",
- facingBack ? "back" : "front");
-}
-
-EmulatedFakeCamera2::~EmulatedFakeCamera2()
-{
-}
-
-/****************************************************************************
- * Public API overrides
- ***************************************************************************/
-
-status_t EmulatedFakeCamera2::Initialize()
-{
- return NO_ERROR;
-}
-
-}; /* namespace android */
diff --git a/tools/emulator/system/camera/EmulatedFakeCamera2.h b/tools/emulator/system/camera/EmulatedFakeCamera2.h
deleted file mode 100644
index 89b12d3..0000000
--- a/tools/emulator/system/camera/EmulatedFakeCamera2.h
+++ /dev/null
@@ -1,67 +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 HW_EMULATOR_CAMERA_EMULATED_FAKE_CAMERA2_H
-#define HW_EMULATOR_CAMERA_EMULATED_FAKE_CAMERA2_H
-
-/*
- * Contains declaration of a class EmulatedFakeCamera2 that encapsulates
- * functionality of a fake camera that implements version 2 of the camera device
- * interface.
- */
-
-#include "EmulatedCamera2.h"
-
-namespace android {
-
-/* Encapsulates functionality of an advanced fake camera. This camera contains
- * a simple simulation of a scene, sensor, and image processing pipeline.
- */
-class EmulatedFakeCamera2 : public EmulatedCamera2 {
-public:
- /* Constructs EmulatedFakeCamera instance. */
- EmulatedFakeCamera2(int cameraId, bool facingBack, struct hw_module_t* module);
-
- /* Destructs EmulatedFakeCamera instance. */
- ~EmulatedFakeCamera2();
-
- /****************************************************************************
- * EmulatedCamera2 virtual overrides.
- ***************************************************************************/
-
-public:
- /* Initializes EmulatedFakeCamera2 instance. */
- status_t Initialize();
-
- /****************************************************************************
- * EmulatedCamera abstract API implementation.
- ***************************************************************************/
-
-protected:
-
- /****************************************************************************
- * Data memebers.
- ***************************************************************************/
-
-protected:
- /* Facing back (true) or front (false) switch. */
- bool mFacingBack;
-
-};
-
-}; /* namespace android */
-
-#endif /* HW_EMULATOR_CAMERA_EMULATED_FAKE_CAMERA2_H */
diff --git a/tools/emulator/system/camera/EmulatedQemuCamera2.cpp b/tools/emulator/system/camera/EmulatedQemuCamera2.cpp
deleted file mode 100644
index 2c94f0e..0000000
--- a/tools/emulator/system/camera/EmulatedQemuCamera2.cpp
+++ /dev/null
@@ -1,55 +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.
- */
-
-/*
- * Contains implementation of a class EmulatedQemuCamera2 that encapsulates
- * functionality of a host webcam with further processing to simulate the
- * capabilities of a v2 camera device.
- */
-
-#define LOG_NDEBUG 0
-#define LOG_TAG "EmulatedCamera_QemuCamera2"
-#include <cutils/log.h>
-#include <cutils/properties.h>
-#include "EmulatedQemuCamera2.h"
-#include "EmulatedCameraFactory.h"
-
-namespace android {
-
-EmulatedQemuCamera2::EmulatedQemuCamera2(int cameraId,
- bool facingBack,
- struct hw_module_t* module)
- : EmulatedCamera2(cameraId,module),
- mFacingBack(facingBack)
-{
- ALOGD("Constructing emulated qemu camera 2 facing %s",
- facingBack ? "back" : "front");
-}
-
-EmulatedQemuCamera2::~EmulatedQemuCamera2()
-{
-}
-
-/****************************************************************************
- * Public API overrides
- ***************************************************************************/
-
-status_t EmulatedQemuCamera2::Initialize()
-{
- return NO_ERROR;
-}
-
-}; /* namespace android */
diff --git a/tools/emulator/system/camera/EmulatedQemuCamera2.h b/tools/emulator/system/camera/EmulatedQemuCamera2.h
deleted file mode 100644
index 520ccce..0000000
--- a/tools/emulator/system/camera/EmulatedQemuCamera2.h
+++ /dev/null
@@ -1,66 +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 HW_EMULATOR_CAMERA_EMULATED_QEMU_CAMERA2_H
-#define HW_EMULATOR_CAMERA_EMULATED_QEMU_CAMERA2_H
-
-/*
- * Contains declaration of a class EmulatedQemuCamera2 that encapsulates
- * functionality of a host webcam with added processing to implement version 2
- * of the camera device interface.
- */
-
-#include "EmulatedCamera2.h"
-
-namespace android {
-
-/* Encapsulates functionality of an advanced fake camera based on real host camera data.
- */
-class EmulatedQemuCamera2 : public EmulatedCamera2 {
-public:
- /* Constructs EmulatedFakeCamera instance. */
- EmulatedQemuCamera2(int cameraId, bool facingBack, struct hw_module_t* module);
-
- /* Destructs EmulatedFakeCamera instance. */
- ~EmulatedQemuCamera2();
-
- /****************************************************************************
- * EmulatedCamera2 virtual overrides.
- ***************************************************************************/
-
-public:
- /* Initializes EmulatedQemuCamera2 instance. */
- status_t Initialize();
-
- /****************************************************************************
- * EmulatedCamera abstract API implementation.
- ***************************************************************************/
-
-protected:
-
- /****************************************************************************
- * Data memebers.
- ***************************************************************************/
-
-protected:
- /* Facing back (true) or front (false) switch. */
- bool mFacingBack;
-
-};
-
-}; /* namespace android */
-
-#endif /* HW_EMULATOR_CAMERA_EMULATED_QEMU_CAMERA2_H */