Loading services/camera/libcameraservice/Camera2Client.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "Camera2Client" #define LOG_TAG "Camera2" #define ATRACE_TAG ATRACE_TAG_CAMERA //#define LOG_NDEBUG 0 Loading Loading @@ -102,27 +102,27 @@ status_t Camera2Client::initialize(camera_module_t *module) String8 threadName; mFrameProcessor = new FrameProcessor(this); threadName = String8::format("Camera2Client[%d]::FrameProcessor", threadName = String8::format("C2-%d-FrameProc", mCameraId); mFrameProcessor->run(threadName.string()); mCaptureSequencer = new CaptureSequencer(this); threadName = String8::format("Camera2Client[%d]::CaptureSequencer", threadName = String8::format("C2-%d-CaptureSeq", mCameraId); mCaptureSequencer->run(threadName.string()); mJpegProcessor = new JpegProcessor(this, mCaptureSequencer); threadName = String8::format("Camera2Client[%d]::JpegProcessor", threadName = String8::format("C2-%d-JpegProc", mCameraId); mJpegProcessor->run(threadName.string()); mZslProcessor = new ZslProcessor(this, mCaptureSequencer); threadName = String8::format("Camera2Client[%d]::ZslProcessor", threadName = String8::format("C2-%d-ZslProc", mCameraId); mZslProcessor->run(threadName.string()); mCallbackProcessor = new CallbackProcessor(this); threadName = String8::format("Camera2Client[%d]::CallbackProcessor", threadName = String8::format("C2-%d-CallbkProc", mCameraId); mCallbackProcessor->run(threadName.string()); Loading services/camera/libcameraservice/Camera2Device.cpp +59 −2 Original line number Diff line number Diff line Loading @@ -14,7 +14,8 @@ * limitations under the License. */ #define LOG_TAG "Camera2Device" #define LOG_TAG "Camera2-Device" #define ATRACE_TAG ATRACE_TAG_CAMERA //#define LOG_NDEBUG 0 //#define LOG_NNDEBUG 0 // Per-frame verbose logging Loading @@ -25,6 +26,7 @@ #endif #include <utils/Log.h> #include <utils/Trace.h> #include "Camera2Device.h" namespace android { Loading @@ -33,16 +35,19 @@ Camera2Device::Camera2Device(int id): mId(id), mDevice(NULL) { ATRACE_CALL(); ALOGV("%s: Created device for camera %d", __FUNCTION__, id); } Camera2Device::~Camera2Device() { ATRACE_CALL(); disconnect(); } status_t Camera2Device::initialize(camera_module_t *module) { ATRACE_CALL(); ALOGV("%s: Initializing device for camera %d", __FUNCTION__, mId); if (mDevice != NULL) { ALOGE("%s: Already initialized!", __FUNCTION__); Loading Loading @@ -130,6 +135,7 @@ status_t Camera2Device::initialize(camera_module_t *module) } status_t Camera2Device::disconnect() { ATRACE_CALL(); status_t res = OK; if (mDevice) { ALOGV("%s: Closing device for camera %d", __FUNCTION__, mId); Loading @@ -153,7 +159,7 @@ status_t Camera2Device::disconnect() { } status_t Camera2Device::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result; int detailLevel = 0; int n = args.size(); Loading Loading @@ -200,6 +206,7 @@ const camera2::CameraMetadata& Camera2Device::info() const { } status_t Camera2Device::capture(CameraMetadata &request) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); mRequestQueue.enqueue(request.release()); Loading @@ -208,17 +215,20 @@ status_t Camera2Device::capture(CameraMetadata &request) { status_t Camera2Device::setStreamingRequest(const CameraMetadata &request) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); CameraMetadata streamRequest(request); return mRequestQueue.setStreamSlot(streamRequest.release()); } status_t Camera2Device::clearStreamingRequest() { ATRACE_CALL(); return mRequestQueue.setStreamSlot(NULL); } status_t Camera2Device::createStream(sp<ANativeWindow> consumer, uint32_t width, uint32_t height, int format, size_t size, int *id) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading @@ -239,6 +249,7 @@ status_t Camera2Device::createStream(sp<ANativeWindow> consumer, } status_t Camera2Device::createReprocessStreamFromStream(int outputId, int *id) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading Loading @@ -276,6 +287,7 @@ status_t Camera2Device::createReprocessStreamFromStream(int outputId, int *id) { status_t Camera2Device::getStreamInfo(int id, uint32_t *width, uint32_t *height, uint32_t *format) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; StreamList::iterator streamI; Loading @@ -301,6 +313,7 @@ status_t Camera2Device::getStreamInfo(int id, status_t Camera2Device::setStreamTransform(int id, int transform) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; StreamList::iterator streamI; Loading @@ -321,6 +334,7 @@ status_t Camera2Device::setStreamTransform(int id, } status_t Camera2Device::deleteStream(int id) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; for (StreamList::iterator streamI = mStreams.begin(); Loading @@ -346,6 +360,7 @@ status_t Camera2Device::deleteStream(int id) { } status_t Camera2Device::deleteReprocessStream(int id) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; for (ReprocessStreamList::iterator streamI = mReprocessStreams.begin(); Loading Loading @@ -374,6 +389,7 @@ status_t Camera2Device::deleteReprocessStream(int id) { status_t Camera2Device::createDefaultRequest(int templateId, CameraMetadata *request) { ATRACE_CALL(); status_t err; ALOGV("%s: E", __FUNCTION__); camera_metadata_t *rawRequest; Loading @@ -384,6 +400,7 @@ status_t Camera2Device::createDefaultRequest(int templateId, } status_t Camera2Device::waitUntilDrained() { ATRACE_CALL(); static const uint32_t kSleepTime = 50000; // 50 ms static const uint32_t kMaxSleepTime = 10000000; // 10 s ALOGV("%s: Camera %d: Starting wait", __FUNCTION__, mId); Loading @@ -406,6 +423,7 @@ status_t Camera2Device::waitUntilDrained() { } status_t Camera2Device::setNotifyCallback(NotificationListener *listener) { ATRACE_CALL(); status_t res; res = mDevice->ops->set_notify_callback(mDevice, notificationCallback, reinterpret_cast<void*>(listener) ); Loading @@ -420,6 +438,7 @@ void Camera2Device::notificationCallback(int32_t msg_type, int32_t ext2, int32_t ext3, void *user) { ATRACE_CALL(); NotificationListener *listener = reinterpret_cast<NotificationListener*>(user); ALOGV("%s: Notification %d, arguments %d, %d, %d", __FUNCTION__, msg_type, ext1, ext2, ext3); Loading Loading @@ -454,6 +473,7 @@ status_t Camera2Device::waitForNextFrame(nsecs_t timeout) { } status_t Camera2Device::getNextFrame(CameraMetadata *frame) { ATRACE_CALL(); status_t res; camera_metadata_t *rawFrame; res = mFrameQueue.dequeue(&rawFrame); Loading @@ -466,6 +486,7 @@ status_t Camera2Device::getNextFrame(CameraMetadata *frame) { } status_t Camera2Device::triggerAutofocus(uint32_t id) { ATRACE_CALL(); status_t res; ALOGV("%s: Triggering autofocus, id %d", __FUNCTION__, id); res = mDevice->ops->trigger_action(mDevice, Loading @@ -478,6 +499,7 @@ status_t Camera2Device::triggerAutofocus(uint32_t id) { } status_t Camera2Device::triggerCancelAutofocus(uint32_t id) { ATRACE_CALL(); status_t res; ALOGV("%s: Canceling autofocus, id %d", __FUNCTION__, id); res = mDevice->ops->trigger_action(mDevice, Loading @@ -490,6 +512,7 @@ status_t Camera2Device::triggerCancelAutofocus(uint32_t id) { } status_t Camera2Device::triggerPrecaptureMetering(uint32_t id) { ATRACE_CALL(); status_t res; ALOGV("%s: Triggering precapture metering, id %d", __FUNCTION__, id); res = mDevice->ops->trigger_action(mDevice, Loading @@ -503,6 +526,7 @@ status_t Camera2Device::triggerPrecaptureMetering(uint32_t id) { status_t Camera2Device::pushReprocessBuffer(int reprocessStreamId, buffer_handle_t *buffer, wp<BufferReleasedListener> listener) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; status_t res = OK; Loading Loading @@ -545,6 +569,7 @@ Camera2Device::MetadataQueue::MetadataQueue(): mStreamSlotCount(0), mSignalConsumer(true) { ATRACE_CALL(); camera2_request_queue_src_ops::dequeue_request = consumer_dequeue; camera2_request_queue_src_ops::request_count = consumer_buffer_count; camera2_request_queue_src_ops::free_request = consumer_free; Loading @@ -555,6 +580,7 @@ Camera2Device::MetadataQueue::MetadataQueue(): } Camera2Device::MetadataQueue::~MetadataQueue() { ATRACE_CALL(); Mutex::Autolock l(mMutex); freeBuffers(mEntries.begin(), mEntries.end()); freeBuffers(mStreamSlot.begin(), mStreamSlot.end()); Loading @@ -562,6 +588,7 @@ Camera2Device::MetadataQueue::~MetadataQueue() { // Connect to camera2 HAL as consumer (input requests/reprocessing) status_t Camera2Device::MetadataQueue::setConsumerDevice(camera2_device_t *d) { ATRACE_CALL(); status_t res; res = d->ops->set_request_queue_src_ops(d, this); Loading @@ -571,6 +598,7 @@ status_t Camera2Device::MetadataQueue::setConsumerDevice(camera2_device_t *d) { } status_t Camera2Device::MetadataQueue::setProducerDevice(camera2_device_t *d) { ATRACE_CALL(); status_t res; res = d->ops->set_frame_queue_dst_ops(d, this); Loading @@ -579,6 +607,7 @@ status_t Camera2Device::MetadataQueue::setProducerDevice(camera2_device_t *d) { // Real interfaces status_t Camera2Device::MetadataQueue::enqueue(camera_metadata_t *buf) { ATRACE_CALL(); ALOGVV("%s: E", __FUNCTION__); Mutex::Autolock l(mMutex); Loading @@ -589,6 +618,7 @@ status_t Camera2Device::MetadataQueue::enqueue(camera_metadata_t *buf) { } int Camera2Device::MetadataQueue::getBufferCount() { ATRACE_CALL(); Mutex::Autolock l(mMutex); if (mStreamSlotCount > 0) { return CAMERA2_REQUEST_QUEUE_IS_BOTTOMLESS; Loading @@ -599,6 +629,7 @@ int Camera2Device::MetadataQueue::getBufferCount() { status_t Camera2Device::MetadataQueue::dequeue(camera_metadata_t **buf, bool incrementCount) { ATRACE_CALL(); ALOGVV("%s: E", __FUNCTION__); status_t res; Mutex::Autolock l(mMutex); Loading Loading @@ -631,6 +662,7 @@ status_t Camera2Device::MetadataQueue::dequeue(camera_metadata_t **buf, mEntries.erase(mEntries.begin()); if (incrementCount) { ATRACE_INT("cam2_request", mFrameCount); camera_metadata_entry_t frameCount; res = find_camera_metadata_entry(b, ANDROID_REQUEST_FRAME_COUNT, Loading Loading @@ -663,6 +695,7 @@ status_t Camera2Device::MetadataQueue::waitForBuffer(nsecs_t timeout) status_t Camera2Device::MetadataQueue::setStreamSlot(camera_metadata_t *buf) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); Mutex::Autolock l(mMutex); if (buf == NULL) { Loading Loading @@ -694,6 +727,7 @@ status_t Camera2Device::MetadataQueue::setStreamSlot(camera_metadata_t *buf) status_t Camera2Device::MetadataQueue::setStreamSlot( const List<camera_metadata_t*> &bufs) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); Mutex::Autolock l(mMutex); status_t res; Loading @@ -717,6 +751,7 @@ status_t Camera2Device::MetadataQueue::setStreamSlot( status_t Camera2Device::MetadataQueue::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result; status_t notLocked; notLocked = mMutex.tryLock(); Loading Loading @@ -763,6 +798,7 @@ status_t Camera2Device::MetadataQueue::dump(int fd, } status_t Camera2Device::MetadataQueue::signalConsumerLocked() { ATRACE_CALL(); status_t res = OK; notEmpty.signal(); if (mSignalConsumer && mDevice != NULL) { Loading @@ -780,6 +816,7 @@ status_t Camera2Device::MetadataQueue::freeBuffers( List<camera_metadata_t*>::iterator start, List<camera_metadata_t*>::iterator end) { ATRACE_CALL(); while (start != end) { free_camera_metadata(*start); start = mStreamSlot.erase(start); Loading Loading @@ -820,6 +857,7 @@ int Camera2Device::MetadataQueue::consumer_free( const camera2_request_queue_src_ops_t *q, camera_metadata_t *old_buffer) { ATRACE_CALL(); MetadataQueue *queue = getInstance(q); free_camera_metadata(old_buffer); return OK; Loading @@ -830,6 +868,7 @@ int Camera2Device::MetadataQueue::producer_dequeue( size_t entries, size_t bytes, camera_metadata_t **buffer) { ATRACE_CALL(); camera_metadata_t *new_buffer = allocate_camera_metadata(entries, bytes); if (new_buffer == NULL) return NO_MEMORY; Loading @@ -841,6 +880,7 @@ int Camera2Device::MetadataQueue::producer_cancel( const camera2_frame_queue_dst_ops_t *q, camera_metadata_t *old_buffer) { ATRACE_CALL(); free_camera_metadata(old_buffer); return OK; } Loading Loading @@ -881,6 +921,7 @@ Camera2Device::StreamAdapter::StreamAdapter(camera2_device_t *d): } Camera2Device::StreamAdapter::~StreamAdapter() { ATRACE_CALL(); if (mState != RELEASED) { release(); } Loading @@ -889,6 +930,7 @@ Camera2Device::StreamAdapter::~StreamAdapter() { status_t Camera2Device::StreamAdapter::connectToDevice( sp<ANativeWindow> consumer, uint32_t width, uint32_t height, int format, size_t size) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading Loading @@ -1057,6 +1099,7 @@ cleanUpBuffers: } status_t Camera2Device::StreamAdapter::release() { ATRACE_CALL(); status_t res; ALOGV("%s: Releasing stream %d", __FUNCTION__, mId); if (mState >= ALLOCATED) { Loading @@ -1082,6 +1125,7 @@ status_t Camera2Device::StreamAdapter::release() { } status_t Camera2Device::StreamAdapter::setTransform(int transform) { ATRACE_CALL(); status_t res; if (mState < CONNECTED) { ALOGE("%s: Cannot set transform on unconnected stream", __FUNCTION__); Loading @@ -1098,6 +1142,7 @@ status_t Camera2Device::StreamAdapter::setTransform(int transform) { status_t Camera2Device::StreamAdapter::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result = String8::format(" Stream %d: %d x %d, format 0x%x\n", mId, mWidth, mHeight, mFormat); result.appendFormat(" size %d, usage 0x%x, requested format 0x%x\n", Loading @@ -1121,6 +1166,7 @@ ANativeWindow* Camera2Device::StreamAdapter::toANW( int Camera2Device::StreamAdapter::dequeue_buffer(const camera2_stream_ops_t *w, buffer_handle_t** buffer) { ATRACE_CALL(); int res; StreamAdapter* stream = const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w)); Loading Loading @@ -1148,6 +1194,7 @@ int Camera2Device::StreamAdapter::dequeue_buffer(const camera2_stream_ops_t *w, int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w, int64_t timestamp, buffer_handle_t* buffer) { ATRACE_CALL(); StreamAdapter *stream = const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w)); stream->mFrameCount++; Loading Loading @@ -1182,6 +1229,7 @@ int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w, int Camera2Device::StreamAdapter::cancel_buffer(const camera2_stream_ops_t* w, buffer_handle_t* buffer) { ATRACE_CALL(); StreamAdapter *stream = const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w)); ALOGVV("Stream %d cancel: Buffer %p", Loading @@ -1206,6 +1254,7 @@ int Camera2Device::StreamAdapter::cancel_buffer(const camera2_stream_ops_t* w, int Camera2Device::StreamAdapter::set_crop(const camera2_stream_ops_t* w, int left, int top, int right, int bottom) { ATRACE_CALL(); int state = static_cast<const StreamAdapter*>(w)->mState; if (state != ACTIVE) { ALOGE("%s: Called when in bad state: %d", __FUNCTION__, state); Loading Loading @@ -1233,11 +1282,13 @@ Camera2Device::ReprocessStreamAdapter::ReprocessStreamAdapter(camera2_device_t * mActiveBuffers(0), mFrameCount(0) { ATRACE_CALL(); camera2_stream_in_ops::acquire_buffer = acquire_buffer; camera2_stream_in_ops::release_buffer = release_buffer; } Camera2Device::ReprocessStreamAdapter::~ReprocessStreamAdapter() { ATRACE_CALL(); if (mState != RELEASED) { release(); } Loading @@ -1245,6 +1296,7 @@ Camera2Device::ReprocessStreamAdapter::~ReprocessStreamAdapter() { status_t Camera2Device::ReprocessStreamAdapter::connectToDevice( const sp<StreamAdapter> &outputStream) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading Loading @@ -1286,6 +1338,7 @@ status_t Camera2Device::ReprocessStreamAdapter::connectToDevice( } status_t Camera2Device::ReprocessStreamAdapter::release() { ATRACE_CALL(); status_t res; ALOGV("%s: Releasing stream %d", __FUNCTION__, mId); if (mState >= ACTIVE) { Loading Loading @@ -1315,6 +1368,7 @@ status_t Camera2Device::ReprocessStreamAdapter::release() { status_t Camera2Device::ReprocessStreamAdapter::pushIntoStream( buffer_handle_t *handle, const wp<BufferReleasedListener> &releaseListener) { ATRACE_CALL(); // TODO: Some error checking here would be nice ALOGV("%s: Pushing buffer %p to stream", __FUNCTION__, (void*)(*handle)); Loading @@ -1327,6 +1381,7 @@ status_t Camera2Device::ReprocessStreamAdapter::pushIntoStream( status_t Camera2Device::ReprocessStreamAdapter::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result = String8::format(" Reprocess stream %d: %d x %d, fmt 0x%x\n", mId, mWidth, mHeight, mFormat); Loading @@ -1345,6 +1400,7 @@ const camera2_stream_in_ops *Camera2Device::ReprocessStreamAdapter::getStreamOps int Camera2Device::ReprocessStreamAdapter::acquire_buffer( const camera2_stream_in_ops_t *w, buffer_handle_t** buffer) { ATRACE_CALL(); int res; ReprocessStreamAdapter* stream = const_cast<ReprocessStreamAdapter*>( Loading Loading @@ -1376,6 +1432,7 @@ int Camera2Device::ReprocessStreamAdapter::acquire_buffer( int Camera2Device::ReprocessStreamAdapter::release_buffer( const camera2_stream_in_ops_t* w, buffer_handle_t* buffer) { ATRACE_CALL(); ReprocessStreamAdapter *stream = const_cast<ReprocessStreamAdapter*>( static_cast<const ReprocessStreamAdapter*>(w) ); Loading services/camera/libcameraservice/camera2/BurstCapture.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ * limitations under the License. */ #define LOG_NDEBUG 0 #define LOG_TAG "BurstCapture" //#define LOG_NDEBUG 0 #define LOG_TAG "Camera2-BurstCapture" #include <utils/Log.h> #include <utils/Trace.h> Loading services/camera/libcameraservice/camera2/CallbackProcessor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "Camera2Client::CallbackProcessor" #define LOG_TAG "Camera2-CallbackProcessor" #define ATRACE_TAG ATRACE_TAG_CAMERA //#define LOG_NDEBUG 0 Loading services/camera/libcameraservice/camera2/CameraMetadata.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "CameraMetadata" #define LOG_TAG "Camera2-Metadata" #include <utils/Log.h> #include <utils/Errors.h> Loading Loading
services/camera/libcameraservice/Camera2Client.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "Camera2Client" #define LOG_TAG "Camera2" #define ATRACE_TAG ATRACE_TAG_CAMERA //#define LOG_NDEBUG 0 Loading Loading @@ -102,27 +102,27 @@ status_t Camera2Client::initialize(camera_module_t *module) String8 threadName; mFrameProcessor = new FrameProcessor(this); threadName = String8::format("Camera2Client[%d]::FrameProcessor", threadName = String8::format("C2-%d-FrameProc", mCameraId); mFrameProcessor->run(threadName.string()); mCaptureSequencer = new CaptureSequencer(this); threadName = String8::format("Camera2Client[%d]::CaptureSequencer", threadName = String8::format("C2-%d-CaptureSeq", mCameraId); mCaptureSequencer->run(threadName.string()); mJpegProcessor = new JpegProcessor(this, mCaptureSequencer); threadName = String8::format("Camera2Client[%d]::JpegProcessor", threadName = String8::format("C2-%d-JpegProc", mCameraId); mJpegProcessor->run(threadName.string()); mZslProcessor = new ZslProcessor(this, mCaptureSequencer); threadName = String8::format("Camera2Client[%d]::ZslProcessor", threadName = String8::format("C2-%d-ZslProc", mCameraId); mZslProcessor->run(threadName.string()); mCallbackProcessor = new CallbackProcessor(this); threadName = String8::format("Camera2Client[%d]::CallbackProcessor", threadName = String8::format("C2-%d-CallbkProc", mCameraId); mCallbackProcessor->run(threadName.string()); Loading
services/camera/libcameraservice/Camera2Device.cpp +59 −2 Original line number Diff line number Diff line Loading @@ -14,7 +14,8 @@ * limitations under the License. */ #define LOG_TAG "Camera2Device" #define LOG_TAG "Camera2-Device" #define ATRACE_TAG ATRACE_TAG_CAMERA //#define LOG_NDEBUG 0 //#define LOG_NNDEBUG 0 // Per-frame verbose logging Loading @@ -25,6 +26,7 @@ #endif #include <utils/Log.h> #include <utils/Trace.h> #include "Camera2Device.h" namespace android { Loading @@ -33,16 +35,19 @@ Camera2Device::Camera2Device(int id): mId(id), mDevice(NULL) { ATRACE_CALL(); ALOGV("%s: Created device for camera %d", __FUNCTION__, id); } Camera2Device::~Camera2Device() { ATRACE_CALL(); disconnect(); } status_t Camera2Device::initialize(camera_module_t *module) { ATRACE_CALL(); ALOGV("%s: Initializing device for camera %d", __FUNCTION__, mId); if (mDevice != NULL) { ALOGE("%s: Already initialized!", __FUNCTION__); Loading Loading @@ -130,6 +135,7 @@ status_t Camera2Device::initialize(camera_module_t *module) } status_t Camera2Device::disconnect() { ATRACE_CALL(); status_t res = OK; if (mDevice) { ALOGV("%s: Closing device for camera %d", __FUNCTION__, mId); Loading @@ -153,7 +159,7 @@ status_t Camera2Device::disconnect() { } status_t Camera2Device::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result; int detailLevel = 0; int n = args.size(); Loading Loading @@ -200,6 +206,7 @@ const camera2::CameraMetadata& Camera2Device::info() const { } status_t Camera2Device::capture(CameraMetadata &request) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); mRequestQueue.enqueue(request.release()); Loading @@ -208,17 +215,20 @@ status_t Camera2Device::capture(CameraMetadata &request) { status_t Camera2Device::setStreamingRequest(const CameraMetadata &request) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); CameraMetadata streamRequest(request); return mRequestQueue.setStreamSlot(streamRequest.release()); } status_t Camera2Device::clearStreamingRequest() { ATRACE_CALL(); return mRequestQueue.setStreamSlot(NULL); } status_t Camera2Device::createStream(sp<ANativeWindow> consumer, uint32_t width, uint32_t height, int format, size_t size, int *id) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading @@ -239,6 +249,7 @@ status_t Camera2Device::createStream(sp<ANativeWindow> consumer, } status_t Camera2Device::createReprocessStreamFromStream(int outputId, int *id) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading Loading @@ -276,6 +287,7 @@ status_t Camera2Device::createReprocessStreamFromStream(int outputId, int *id) { status_t Camera2Device::getStreamInfo(int id, uint32_t *width, uint32_t *height, uint32_t *format) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; StreamList::iterator streamI; Loading @@ -301,6 +313,7 @@ status_t Camera2Device::getStreamInfo(int id, status_t Camera2Device::setStreamTransform(int id, int transform) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; StreamList::iterator streamI; Loading @@ -321,6 +334,7 @@ status_t Camera2Device::setStreamTransform(int id, } status_t Camera2Device::deleteStream(int id) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; for (StreamList::iterator streamI = mStreams.begin(); Loading @@ -346,6 +360,7 @@ status_t Camera2Device::deleteStream(int id) { } status_t Camera2Device::deleteReprocessStream(int id) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; for (ReprocessStreamList::iterator streamI = mReprocessStreams.begin(); Loading Loading @@ -374,6 +389,7 @@ status_t Camera2Device::deleteReprocessStream(int id) { status_t Camera2Device::createDefaultRequest(int templateId, CameraMetadata *request) { ATRACE_CALL(); status_t err; ALOGV("%s: E", __FUNCTION__); camera_metadata_t *rawRequest; Loading @@ -384,6 +400,7 @@ status_t Camera2Device::createDefaultRequest(int templateId, } status_t Camera2Device::waitUntilDrained() { ATRACE_CALL(); static const uint32_t kSleepTime = 50000; // 50 ms static const uint32_t kMaxSleepTime = 10000000; // 10 s ALOGV("%s: Camera %d: Starting wait", __FUNCTION__, mId); Loading @@ -406,6 +423,7 @@ status_t Camera2Device::waitUntilDrained() { } status_t Camera2Device::setNotifyCallback(NotificationListener *listener) { ATRACE_CALL(); status_t res; res = mDevice->ops->set_notify_callback(mDevice, notificationCallback, reinterpret_cast<void*>(listener) ); Loading @@ -420,6 +438,7 @@ void Camera2Device::notificationCallback(int32_t msg_type, int32_t ext2, int32_t ext3, void *user) { ATRACE_CALL(); NotificationListener *listener = reinterpret_cast<NotificationListener*>(user); ALOGV("%s: Notification %d, arguments %d, %d, %d", __FUNCTION__, msg_type, ext1, ext2, ext3); Loading Loading @@ -454,6 +473,7 @@ status_t Camera2Device::waitForNextFrame(nsecs_t timeout) { } status_t Camera2Device::getNextFrame(CameraMetadata *frame) { ATRACE_CALL(); status_t res; camera_metadata_t *rawFrame; res = mFrameQueue.dequeue(&rawFrame); Loading @@ -466,6 +486,7 @@ status_t Camera2Device::getNextFrame(CameraMetadata *frame) { } status_t Camera2Device::triggerAutofocus(uint32_t id) { ATRACE_CALL(); status_t res; ALOGV("%s: Triggering autofocus, id %d", __FUNCTION__, id); res = mDevice->ops->trigger_action(mDevice, Loading @@ -478,6 +499,7 @@ status_t Camera2Device::triggerAutofocus(uint32_t id) { } status_t Camera2Device::triggerCancelAutofocus(uint32_t id) { ATRACE_CALL(); status_t res; ALOGV("%s: Canceling autofocus, id %d", __FUNCTION__, id); res = mDevice->ops->trigger_action(mDevice, Loading @@ -490,6 +512,7 @@ status_t Camera2Device::triggerCancelAutofocus(uint32_t id) { } status_t Camera2Device::triggerPrecaptureMetering(uint32_t id) { ATRACE_CALL(); status_t res; ALOGV("%s: Triggering precapture metering, id %d", __FUNCTION__, id); res = mDevice->ops->trigger_action(mDevice, Loading @@ -503,6 +526,7 @@ status_t Camera2Device::triggerPrecaptureMetering(uint32_t id) { status_t Camera2Device::pushReprocessBuffer(int reprocessStreamId, buffer_handle_t *buffer, wp<BufferReleasedListener> listener) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); bool found = false; status_t res = OK; Loading Loading @@ -545,6 +569,7 @@ Camera2Device::MetadataQueue::MetadataQueue(): mStreamSlotCount(0), mSignalConsumer(true) { ATRACE_CALL(); camera2_request_queue_src_ops::dequeue_request = consumer_dequeue; camera2_request_queue_src_ops::request_count = consumer_buffer_count; camera2_request_queue_src_ops::free_request = consumer_free; Loading @@ -555,6 +580,7 @@ Camera2Device::MetadataQueue::MetadataQueue(): } Camera2Device::MetadataQueue::~MetadataQueue() { ATRACE_CALL(); Mutex::Autolock l(mMutex); freeBuffers(mEntries.begin(), mEntries.end()); freeBuffers(mStreamSlot.begin(), mStreamSlot.end()); Loading @@ -562,6 +588,7 @@ Camera2Device::MetadataQueue::~MetadataQueue() { // Connect to camera2 HAL as consumer (input requests/reprocessing) status_t Camera2Device::MetadataQueue::setConsumerDevice(camera2_device_t *d) { ATRACE_CALL(); status_t res; res = d->ops->set_request_queue_src_ops(d, this); Loading @@ -571,6 +598,7 @@ status_t Camera2Device::MetadataQueue::setConsumerDevice(camera2_device_t *d) { } status_t Camera2Device::MetadataQueue::setProducerDevice(camera2_device_t *d) { ATRACE_CALL(); status_t res; res = d->ops->set_frame_queue_dst_ops(d, this); Loading @@ -579,6 +607,7 @@ status_t Camera2Device::MetadataQueue::setProducerDevice(camera2_device_t *d) { // Real interfaces status_t Camera2Device::MetadataQueue::enqueue(camera_metadata_t *buf) { ATRACE_CALL(); ALOGVV("%s: E", __FUNCTION__); Mutex::Autolock l(mMutex); Loading @@ -589,6 +618,7 @@ status_t Camera2Device::MetadataQueue::enqueue(camera_metadata_t *buf) { } int Camera2Device::MetadataQueue::getBufferCount() { ATRACE_CALL(); Mutex::Autolock l(mMutex); if (mStreamSlotCount > 0) { return CAMERA2_REQUEST_QUEUE_IS_BOTTOMLESS; Loading @@ -599,6 +629,7 @@ int Camera2Device::MetadataQueue::getBufferCount() { status_t Camera2Device::MetadataQueue::dequeue(camera_metadata_t **buf, bool incrementCount) { ATRACE_CALL(); ALOGVV("%s: E", __FUNCTION__); status_t res; Mutex::Autolock l(mMutex); Loading Loading @@ -631,6 +662,7 @@ status_t Camera2Device::MetadataQueue::dequeue(camera_metadata_t **buf, mEntries.erase(mEntries.begin()); if (incrementCount) { ATRACE_INT("cam2_request", mFrameCount); camera_metadata_entry_t frameCount; res = find_camera_metadata_entry(b, ANDROID_REQUEST_FRAME_COUNT, Loading Loading @@ -663,6 +695,7 @@ status_t Camera2Device::MetadataQueue::waitForBuffer(nsecs_t timeout) status_t Camera2Device::MetadataQueue::setStreamSlot(camera_metadata_t *buf) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); Mutex::Autolock l(mMutex); if (buf == NULL) { Loading Loading @@ -694,6 +727,7 @@ status_t Camera2Device::MetadataQueue::setStreamSlot(camera_metadata_t *buf) status_t Camera2Device::MetadataQueue::setStreamSlot( const List<camera_metadata_t*> &bufs) { ATRACE_CALL(); ALOGV("%s: E", __FUNCTION__); Mutex::Autolock l(mMutex); status_t res; Loading @@ -717,6 +751,7 @@ status_t Camera2Device::MetadataQueue::setStreamSlot( status_t Camera2Device::MetadataQueue::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result; status_t notLocked; notLocked = mMutex.tryLock(); Loading Loading @@ -763,6 +798,7 @@ status_t Camera2Device::MetadataQueue::dump(int fd, } status_t Camera2Device::MetadataQueue::signalConsumerLocked() { ATRACE_CALL(); status_t res = OK; notEmpty.signal(); if (mSignalConsumer && mDevice != NULL) { Loading @@ -780,6 +816,7 @@ status_t Camera2Device::MetadataQueue::freeBuffers( List<camera_metadata_t*>::iterator start, List<camera_metadata_t*>::iterator end) { ATRACE_CALL(); while (start != end) { free_camera_metadata(*start); start = mStreamSlot.erase(start); Loading Loading @@ -820,6 +857,7 @@ int Camera2Device::MetadataQueue::consumer_free( const camera2_request_queue_src_ops_t *q, camera_metadata_t *old_buffer) { ATRACE_CALL(); MetadataQueue *queue = getInstance(q); free_camera_metadata(old_buffer); return OK; Loading @@ -830,6 +868,7 @@ int Camera2Device::MetadataQueue::producer_dequeue( size_t entries, size_t bytes, camera_metadata_t **buffer) { ATRACE_CALL(); camera_metadata_t *new_buffer = allocate_camera_metadata(entries, bytes); if (new_buffer == NULL) return NO_MEMORY; Loading @@ -841,6 +880,7 @@ int Camera2Device::MetadataQueue::producer_cancel( const camera2_frame_queue_dst_ops_t *q, camera_metadata_t *old_buffer) { ATRACE_CALL(); free_camera_metadata(old_buffer); return OK; } Loading Loading @@ -881,6 +921,7 @@ Camera2Device::StreamAdapter::StreamAdapter(camera2_device_t *d): } Camera2Device::StreamAdapter::~StreamAdapter() { ATRACE_CALL(); if (mState != RELEASED) { release(); } Loading @@ -889,6 +930,7 @@ Camera2Device::StreamAdapter::~StreamAdapter() { status_t Camera2Device::StreamAdapter::connectToDevice( sp<ANativeWindow> consumer, uint32_t width, uint32_t height, int format, size_t size) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading Loading @@ -1057,6 +1099,7 @@ cleanUpBuffers: } status_t Camera2Device::StreamAdapter::release() { ATRACE_CALL(); status_t res; ALOGV("%s: Releasing stream %d", __FUNCTION__, mId); if (mState >= ALLOCATED) { Loading @@ -1082,6 +1125,7 @@ status_t Camera2Device::StreamAdapter::release() { } status_t Camera2Device::StreamAdapter::setTransform(int transform) { ATRACE_CALL(); status_t res; if (mState < CONNECTED) { ALOGE("%s: Cannot set transform on unconnected stream", __FUNCTION__); Loading @@ -1098,6 +1142,7 @@ status_t Camera2Device::StreamAdapter::setTransform(int transform) { status_t Camera2Device::StreamAdapter::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result = String8::format(" Stream %d: %d x %d, format 0x%x\n", mId, mWidth, mHeight, mFormat); result.appendFormat(" size %d, usage 0x%x, requested format 0x%x\n", Loading @@ -1121,6 +1166,7 @@ ANativeWindow* Camera2Device::StreamAdapter::toANW( int Camera2Device::StreamAdapter::dequeue_buffer(const camera2_stream_ops_t *w, buffer_handle_t** buffer) { ATRACE_CALL(); int res; StreamAdapter* stream = const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w)); Loading Loading @@ -1148,6 +1194,7 @@ int Camera2Device::StreamAdapter::dequeue_buffer(const camera2_stream_ops_t *w, int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w, int64_t timestamp, buffer_handle_t* buffer) { ATRACE_CALL(); StreamAdapter *stream = const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w)); stream->mFrameCount++; Loading Loading @@ -1182,6 +1229,7 @@ int Camera2Device::StreamAdapter::enqueue_buffer(const camera2_stream_ops_t* w, int Camera2Device::StreamAdapter::cancel_buffer(const camera2_stream_ops_t* w, buffer_handle_t* buffer) { ATRACE_CALL(); StreamAdapter *stream = const_cast<StreamAdapter*>(static_cast<const StreamAdapter*>(w)); ALOGVV("Stream %d cancel: Buffer %p", Loading @@ -1206,6 +1254,7 @@ int Camera2Device::StreamAdapter::cancel_buffer(const camera2_stream_ops_t* w, int Camera2Device::StreamAdapter::set_crop(const camera2_stream_ops_t* w, int left, int top, int right, int bottom) { ATRACE_CALL(); int state = static_cast<const StreamAdapter*>(w)->mState; if (state != ACTIVE) { ALOGE("%s: Called when in bad state: %d", __FUNCTION__, state); Loading Loading @@ -1233,11 +1282,13 @@ Camera2Device::ReprocessStreamAdapter::ReprocessStreamAdapter(camera2_device_t * mActiveBuffers(0), mFrameCount(0) { ATRACE_CALL(); camera2_stream_in_ops::acquire_buffer = acquire_buffer; camera2_stream_in_ops::release_buffer = release_buffer; } Camera2Device::ReprocessStreamAdapter::~ReprocessStreamAdapter() { ATRACE_CALL(); if (mState != RELEASED) { release(); } Loading @@ -1245,6 +1296,7 @@ Camera2Device::ReprocessStreamAdapter::~ReprocessStreamAdapter() { status_t Camera2Device::ReprocessStreamAdapter::connectToDevice( const sp<StreamAdapter> &outputStream) { ATRACE_CALL(); status_t res; ALOGV("%s: E", __FUNCTION__); Loading Loading @@ -1286,6 +1338,7 @@ status_t Camera2Device::ReprocessStreamAdapter::connectToDevice( } status_t Camera2Device::ReprocessStreamAdapter::release() { ATRACE_CALL(); status_t res; ALOGV("%s: Releasing stream %d", __FUNCTION__, mId); if (mState >= ACTIVE) { Loading Loading @@ -1315,6 +1368,7 @@ status_t Camera2Device::ReprocessStreamAdapter::release() { status_t Camera2Device::ReprocessStreamAdapter::pushIntoStream( buffer_handle_t *handle, const wp<BufferReleasedListener> &releaseListener) { ATRACE_CALL(); // TODO: Some error checking here would be nice ALOGV("%s: Pushing buffer %p to stream", __FUNCTION__, (void*)(*handle)); Loading @@ -1327,6 +1381,7 @@ status_t Camera2Device::ReprocessStreamAdapter::pushIntoStream( status_t Camera2Device::ReprocessStreamAdapter::dump(int fd, const Vector<String16>& args) { ATRACE_CALL(); String8 result = String8::format(" Reprocess stream %d: %d x %d, fmt 0x%x\n", mId, mWidth, mHeight, mFormat); Loading @@ -1345,6 +1400,7 @@ const camera2_stream_in_ops *Camera2Device::ReprocessStreamAdapter::getStreamOps int Camera2Device::ReprocessStreamAdapter::acquire_buffer( const camera2_stream_in_ops_t *w, buffer_handle_t** buffer) { ATRACE_CALL(); int res; ReprocessStreamAdapter* stream = const_cast<ReprocessStreamAdapter*>( Loading Loading @@ -1376,6 +1432,7 @@ int Camera2Device::ReprocessStreamAdapter::acquire_buffer( int Camera2Device::ReprocessStreamAdapter::release_buffer( const camera2_stream_in_ops_t* w, buffer_handle_t* buffer) { ATRACE_CALL(); ReprocessStreamAdapter *stream = const_cast<ReprocessStreamAdapter*>( static_cast<const ReprocessStreamAdapter*>(w) ); Loading
services/camera/libcameraservice/camera2/BurstCapture.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ * limitations under the License. */ #define LOG_NDEBUG 0 #define LOG_TAG "BurstCapture" //#define LOG_NDEBUG 0 #define LOG_TAG "Camera2-BurstCapture" #include <utils/Log.h> #include <utils/Trace.h> Loading
services/camera/libcameraservice/camera2/CallbackProcessor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "Camera2Client::CallbackProcessor" #define LOG_TAG "Camera2-CallbackProcessor" #define ATRACE_TAG ATRACE_TAG_CAMERA //#define LOG_NDEBUG 0 Loading
services/camera/libcameraservice/camera2/CameraMetadata.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "CameraMetadata" #define LOG_TAG "Camera2-Metadata" #include <utils/Log.h> #include <utils/Errors.h> Loading