From 7cf9a7e7d19579565e0f9dba8be9c107f2dbf548 Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Mon, 4 Mar 2013 16:14:23 -0800 Subject: (Camera)ProCamera: Remove unused functions from binder interface Change-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d --- camera/Camera.cpp | 19 +++++++++++-- camera/CameraBase.cpp | 35 ------------------------ camera/IProCameraCallbacks.cpp | 60 ----------------------------------------- camera/IProCameraUser.cpp | 26 ++++-------------- camera/ProCamera.cpp | 22 ++------------- camera/tests/ProCameraTests.cpp | 14 +++++----- 6 files changed, 31 insertions(+), 145 deletions(-) (limited to 'camera') diff --git a/camera/Camera.cpp b/camera/Camera.cpp index f417c90..e8908d2 100644 --- a/camera/Camera.cpp +++ b/camera/Camera.cpp @@ -283,7 +283,14 @@ void Camera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2) void Camera::dataCallback(int32_t msgType, const sp& dataPtr, camera_frame_metadata_t *metadata) { - return CameraBaseT::dataCallback(msgType, dataPtr, metadata); + sp listener; + { + Mutex::Autolock _l(mLock); + listener = mListener; + } + if (listener != NULL) { + listener->postData(msgType, dataPtr, metadata); + } } // callback from camera service when timestamped frame is ready @@ -302,7 +309,15 @@ void Camera::dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp< return; } - if (!CameraBaseT::dataCallbackTimestamp(timestamp, msgType, dataPtr)) { + sp listener; + { + Mutex::Autolock _l(mLock); + listener = mListener; + } + + if (listener != NULL) { + listener->postDataTimestamp(timestamp, msgType, dataPtr); + } else { ALOGW("No listener was set. Drop a recording frame."); releaseRecordingFrame(dataPtr); } diff --git a/camera/CameraBase.cpp b/camera/CameraBase.cpp index 29096da..c25c5fd 100644 --- a/camera/CameraBase.cpp +++ b/camera/CameraBase.cpp @@ -176,41 +176,6 @@ void CameraBase::notifyCallback(int32_t msgType, } } -// callback from camera service when frame or image is ready -template -void CameraBase::dataCallback(int32_t msgType, - const sp& dataPtr, - camera_frame_metadata *metadata) -{ - sp listener; - { - Mutex::Autolock _l(mLock); - listener = mListener; - } - if (listener != NULL) { - listener->postData(msgType, dataPtr, metadata); - } -} - -// callback from camera service when timestamped frame is ready -template -bool CameraBase::dataCallbackTimestamp(nsecs_t timestamp, - int32_t msgType, - const sp& dataPtr) -{ - sp listener; - { - Mutex::Autolock _l(mLock); - listener = mListener; - } - if (listener != NULL) { - listener->postDataTimestamp(timestamp, msgType, dataPtr); - return true; - } - - return false; -} - template int CameraBase::getNumberOfCameras() { const sp cs = getCameraService(); diff --git a/camera/IProCameraCallbacks.cpp b/camera/IProCameraCallbacks.cpp index 6cd36bf..b9cd14d 100644 --- a/camera/IProCameraCallbacks.cpp +++ b/camera/IProCameraCallbacks.cpp @@ -34,8 +34,6 @@ namespace android { enum { NOTIFY_CALLBACK = IBinder::FIRST_CALL_TRANSACTION, - DATA_CALLBACK, - DATA_CALLBACK_TIMESTAMP, LOCK_STATUS_CHANGED, RESULT_RECEIVED, }; @@ -63,37 +61,6 @@ public: remote()->transact(NOTIFY_CALLBACK, data, &reply, IBinder::FLAG_ONEWAY); } - // generic data callback from camera service to app with image data - void dataCallback(int32_t msgType, const sp& imageData, - camera_frame_metadata_t *metadata) - { - ALOGV("dataCallback"); - Parcel data, reply; - data.writeInterfaceToken(IProCameraCallbacks::getInterfaceDescriptor()); - data.writeInt32(msgType); - data.writeStrongBinder(imageData->asBinder()); - if (metadata) { - data.writeInt32(metadata->number_of_faces); - data.write(metadata->faces, - sizeof(camera_face_t) * metadata->number_of_faces); - } - remote()->transact(DATA_CALLBACK, data, &reply, IBinder::FLAG_ONEWAY); - } - - // generic data callback from camera service to app with image data - void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, - const sp& imageData) - { - ALOGV("dataCallback"); - Parcel data, reply; - data.writeInterfaceToken(IProCameraCallbacks::getInterfaceDescriptor()); - data.writeInt64(timestamp); - data.writeInt32(msgType); - data.writeStrongBinder(imageData->asBinder()); - remote()->transact(DATA_CALLBACK_TIMESTAMP, data, &reply, - IBinder::FLAG_ONEWAY); - } - void onLockStatusChanged(LockStatus newLockStatus) { ALOGV("onLockStatusChanged"); Parcel data, reply; @@ -132,33 +99,6 @@ status_t BnProCameraCallbacks::onTransact( notifyCallback(msgType, ext1, ext2); return NO_ERROR; } break; - case DATA_CALLBACK: { - ALOGV("DATA_CALLBACK"); - CHECK_INTERFACE(IProCameraCallbacks, data, reply); - int32_t msgType = data.readInt32(); - sp imageData = interface_cast( - data.readStrongBinder()); - camera_frame_metadata_t *metadata = NULL; - if (data.dataAvail() > 0) { - metadata = new camera_frame_metadata_t; - metadata->number_of_faces = data.readInt32(); - metadata->faces = (camera_face_t *) data.readInplace( - sizeof(camera_face_t) * metadata->number_of_faces); - } - dataCallback(msgType, imageData, metadata); - if (metadata) delete metadata; - return NO_ERROR; - } break; - case DATA_CALLBACK_TIMESTAMP: { - ALOGV("DATA_CALLBACK_TIMESTAMP"); - CHECK_INTERFACE(IProCameraCallbacks, data, reply); - nsecs_t timestamp = data.readInt64(); - int32_t msgType = data.readInt32(); - sp imageData = interface_cast( - data.readStrongBinder()); - dataCallbackTimestamp(timestamp, msgType, imageData); - return NO_ERROR; - } break; case LOCK_STATUS_CHANGED: { ALOGV("LOCK_STATUS_CHANGED"); CHECK_INTERFACE(IProCameraCallbacks, data, reply); diff --git a/camera/IProCameraUser.cpp b/camera/IProCameraUser.cpp index c9d98aa..0c94bd4 100644 --- a/camera/IProCameraUser.cpp +++ b/camera/IProCameraUser.cpp @@ -40,8 +40,7 @@ enum { HAS_EXCLUSIVE_LOCK, SUBMIT_REQUEST, CANCEL_REQUEST, - REQUEST_STREAM, - CANCEL_STREAM, + DELETE_STREAM, CREATE_STREAM, CREATE_DEFAULT_REQUEST, GET_CAMERA_INFO, @@ -200,22 +199,13 @@ public: return reply.readInt32(); } - virtual status_t requestStream(int streamId) + virtual status_t deleteStream(int streamId) { Parcel data, reply; data.writeInterfaceToken(IProCameraUser::getInterfaceDescriptor()); data.writeInt32(streamId); - remote()->transact(REQUEST_STREAM, data, &reply); - return reply.readInt32(); - } - virtual status_t cancelStream(int streamId) - { - Parcel data, reply; - data.writeInterfaceToken(IProCameraUser::getInterfaceDescriptor()); - data.writeInt32(streamId); - - remote()->transact(CANCEL_STREAM, data, &reply); + remote()->transact(DELETE_STREAM, data, &reply); return reply.readInt32(); } @@ -334,16 +324,10 @@ status_t BnProCameraUser::onTransact( reply->writeInt32(cancelRequest(requestId)); return NO_ERROR; } break; - case REQUEST_STREAM: { - CHECK_INTERFACE(IProCameraUser, data, reply); - int streamId = data.readInt32(); - reply->writeInt32(requestStream(streamId)); - return NO_ERROR; - } break; - case CANCEL_STREAM: { + case DELETE_STREAM: { CHECK_INTERFACE(IProCameraUser, data, reply); int streamId = data.readInt32(); - reply->writeInt32(cancelStream(streamId)); + reply->writeInt32(deleteStream(streamId)); return NO_ERROR; } break; case CREATE_STREAM: { diff --git a/camera/ProCamera.cpp b/camera/ProCamera.cpp index 3cfabf6..396b009 100644 --- a/camera/ProCamera.cpp +++ b/camera/ProCamera.cpp @@ -60,21 +60,6 @@ void ProCamera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2) return CameraBaseT::notifyCallback(msgType, ext1, ext2); } -// callback from camera service when frame or image is ready -void ProCamera::dataCallback(int32_t msgType, const sp& dataPtr, - camera_frame_metadata_t *metadata) -{ - return CameraBaseT::dataCallback(msgType, dataPtr, metadata); -} - -// callback from camera service when timestamped frame is ready -void ProCamera::dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, - const sp& dataPtr) -{ - CameraBaseT::dataCallbackTimestamp(timestamp, msgType, dataPtr); -} - - void ProCamera::onLockStatusChanged( IProCameraCallbacks::LockStatus newLockStatus) { @@ -185,7 +170,7 @@ status_t ProCamera::deleteStream(int streamId) sp c = mCamera; if (c == 0) return NO_INIT; - status_t s = c->cancelStream(streamId); + status_t s = c->deleteStream(streamId); mStreams.removeItem(streamId); @@ -330,10 +315,7 @@ void ProCamera::onFrameAvailable(int streamId) { CpuConsumer::LockedBuffer buf; if (listener.get() != NULL) { - if (listener->useOnFrameAvailable()) { - listener->onFrameAvailable(streamId, stream.cpuConsumer); - return; - } + listener->onFrameAvailable(streamId, stream.cpuConsumer); } // Unblock waitForFrame(id) callers diff --git a/camera/tests/ProCameraTests.cpp b/camera/tests/ProCameraTests.cpp index 1a8564e..71813ae 100644 --- a/camera/tests/ProCameraTests.cpp +++ b/camera/tests/ProCameraTests.cpp @@ -271,13 +271,11 @@ protected: free_camera_metadata(request); } - // TODO: remove - - virtual void notify(int32_t , int32_t , int32_t ) {} - virtual void postData(int32_t , const sp& , - camera_frame_metadata_t *) {} - virtual void postDataTimestamp(nsecs_t , int32_t , const sp& ) {} - + virtual void notify(int32_t msg, int32_t ext1, int32_t ext2) { + dout << "Notify received: msg " << std::hex << msg + << ", ext1: " << std::hex << ext1 << ", ext2: " << std::hex << ext2 + << std::endl; + } Vector mProEventList; Mutex mListenerMutex; @@ -717,6 +715,7 @@ TEST_F(ProCameraTest, CpuConsumerSingle) { return; } + // FIXME: Note this test is broken because onBufferReceived was removed mListener->SetEventMask(ProEvent_Mask(BUFFER_RECEIVED)); int streamId = -1; @@ -783,6 +782,7 @@ TEST_F(ProCameraTest, CpuConsumerDual) { return; } + // FIXME: Note this test is broken because onBufferReceived was removed mListener->SetEventMask(ProEvent_Mask(BUFFER_RECEIVED)); int streamId = -1; -- cgit v1.1