Merge change 5172 into donut
* changes: Remove deprecated callback function support. This is the last of a 3-part change to modify the camera to use a more streamlined callback interface. This change removes the old code. Bug 1884362
This commit is contained in:
@ -152,14 +152,6 @@ public:
|
||||
// get preview/capture parameters - key/value pairs
|
||||
String8 getParameters() const;
|
||||
|
||||
void setShutterCallback(shutter_callback cb, void *cookie);
|
||||
void setRawCallback(frame_callback cb, void *cookie);
|
||||
void setJpegCallback(frame_callback cb, void *cookie);
|
||||
void setRecordingCallback(frame_callback cb, void *cookie);
|
||||
void setPreviewCallback(frame_callback cb, void *cookie, int preview_callback_flag = FRAME_CALLBACK_FLAG_NOOP);
|
||||
void setErrorCallback(error_callback cb, void *cookie);
|
||||
void setAutoFocusCallback(autofocus_callback cb, void *cookie);
|
||||
|
||||
void setListener(const sp<CameraListener>& listener);
|
||||
void setPreviewCallbackFlags(int preview_callback_flag);
|
||||
|
||||
@ -190,21 +182,6 @@ private:
|
||||
sp<ICamera> mCamera;
|
||||
status_t mStatus;
|
||||
|
||||
shutter_callback mShutterCallback;
|
||||
void *mShutterCallbackCookie;
|
||||
frame_callback mRawCallback;
|
||||
void *mRawCallbackCookie;
|
||||
frame_callback mJpegCallback;
|
||||
void *mJpegCallbackCookie;
|
||||
frame_callback mPreviewCallback;
|
||||
void *mPreviewCallbackCookie;
|
||||
frame_callback mRecordingCallback;
|
||||
void *mRecordingCallbackCookie;
|
||||
error_callback mErrorCallback;
|
||||
void *mErrorCallbackCookie;
|
||||
autofocus_callback mAutoFocusCallback;
|
||||
void *mAutoFocusCallbackCookie;
|
||||
|
||||
sp<CameraListener> mListener;
|
||||
|
||||
friend class DeathNotifier;
|
||||
|
@ -85,20 +85,6 @@ sp<Camera> Camera::create(const sp<ICamera>& camera)
|
||||
void Camera::init()
|
||||
{
|
||||
mStatus = UNKNOWN_ERROR;
|
||||
mShutterCallback = 0;
|
||||
mShutterCallbackCookie = 0;
|
||||
mRawCallback = 0;
|
||||
mRawCallbackCookie = 0;
|
||||
mJpegCallback = 0;
|
||||
mJpegCallbackCookie = 0;
|
||||
mPreviewCallback = 0;
|
||||
mPreviewCallbackCookie = 0;
|
||||
mRecordingCallback = 0;
|
||||
mRecordingCallbackCookie = 0;
|
||||
mErrorCallback = 0;
|
||||
mErrorCallbackCookie = 0;
|
||||
mAutoFocusCallback = 0;
|
||||
mAutoFocusCallbackCookie = 0;
|
||||
}
|
||||
|
||||
Camera::~Camera()
|
||||
@ -127,7 +113,6 @@ void Camera::disconnect()
|
||||
{
|
||||
LOGV("disconnect");
|
||||
if (mCamera != 0) {
|
||||
mErrorCallback = 0;
|
||||
mCamera->disconnect();
|
||||
mCamera = 0;
|
||||
}
|
||||
@ -285,58 +270,6 @@ String8 Camera::getParameters() const
|
||||
return params;
|
||||
}
|
||||
|
||||
void Camera::setAutoFocusCallback(autofocus_callback cb, void *cookie)
|
||||
{
|
||||
LOGV("setAutoFocusCallback");
|
||||
mAutoFocusCallback = cb;
|
||||
mAutoFocusCallbackCookie = cookie;
|
||||
}
|
||||
|
||||
void Camera::setShutterCallback(shutter_callback cb, void *cookie)
|
||||
{
|
||||
LOGV("setShutterCallback");
|
||||
mShutterCallback = cb;
|
||||
mShutterCallbackCookie = cookie;
|
||||
}
|
||||
|
||||
void Camera::setRawCallback(frame_callback cb, void *cookie)
|
||||
{
|
||||
LOGV("setRawCallback");
|
||||
mRawCallback = cb;
|
||||
mRawCallbackCookie = cookie;
|
||||
}
|
||||
|
||||
void Camera::setJpegCallback(frame_callback cb, void *cookie)
|
||||
{
|
||||
LOGV("setJpegCallback");
|
||||
mJpegCallback = cb;
|
||||
mJpegCallbackCookie = cookie;
|
||||
}
|
||||
|
||||
void Camera::setPreviewCallback(frame_callback cb, void *cookie, int flag)
|
||||
{
|
||||
LOGV("setPreviewCallback");
|
||||
mPreviewCallback = cb;
|
||||
mPreviewCallbackCookie = cookie;
|
||||
sp <ICamera> c = mCamera;
|
||||
if (c == 0) return;
|
||||
mCamera->setPreviewCallbackFlag(flag);
|
||||
}
|
||||
|
||||
void Camera::setRecordingCallback(frame_callback cb, void *cookie)
|
||||
{
|
||||
LOGV("setRecordingCallback");
|
||||
mRecordingCallback = cb;
|
||||
mRecordingCallbackCookie = cookie;
|
||||
}
|
||||
|
||||
void Camera::setErrorCallback(error_callback cb, void *cookie)
|
||||
{
|
||||
LOGV("setErrorCallback");
|
||||
mErrorCallback = cb;
|
||||
mErrorCallbackCookie = cookie;
|
||||
}
|
||||
|
||||
void Camera::setListener(const sp<CameraListener>& listener)
|
||||
{
|
||||
Mutex::Autolock _l(mLock);
|
||||
@ -362,30 +295,6 @@ void Camera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
|
||||
if (listener != NULL) {
|
||||
listener->notify(msgType, ext1, ext2);
|
||||
}
|
||||
|
||||
switch(msgType) {
|
||||
case CAMERA_MSG_ERROR:
|
||||
LOGV("errorCallback");
|
||||
if (mErrorCallback) {
|
||||
mErrorCallback((status_t)ext1, mErrorCallbackCookie);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MSG_FOCUS:
|
||||
LOGV("autoFocusCallback");
|
||||
if (mAutoFocusCallback) {
|
||||
mAutoFocusCallback((bool)ext1, mAutoFocusCallbackCookie);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MSG_SHUTTER:
|
||||
LOGV("shutterCallback");
|
||||
if (mShutterCallback) {
|
||||
mShutterCallback(mShutterCallbackCookie);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
LOGV("notifyCallback(%d, %d, %d)", msgType, ext1, ext2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// callback from camera service when frame or image is ready
|
||||
@ -399,44 +308,11 @@ void Camera::dataCallback(int32_t msgType, const sp<IMemory>& dataPtr)
|
||||
if (listener != NULL) {
|
||||
listener->postData(msgType, dataPtr);
|
||||
}
|
||||
|
||||
switch(msgType) {
|
||||
case CAMERA_MSG_PREVIEW_FRAME:
|
||||
LOGV("previewCallback");
|
||||
if (mPreviewCallback) {
|
||||
mPreviewCallback(dataPtr, mPreviewCallbackCookie);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MSG_VIDEO_FRAME:
|
||||
LOGV("recordingCallback");
|
||||
if (mRecordingCallback) {
|
||||
mRecordingCallback(dataPtr, mRecordingCallbackCookie);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MSG_RAW_IMAGE:
|
||||
LOGV("rawCallback");
|
||||
if (mRawCallback) {
|
||||
mRawCallback(dataPtr, mRawCallbackCookie);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MSG_COMPRESSED_IMAGE:
|
||||
LOGV("jpegCallback");
|
||||
if (mJpegCallback) {
|
||||
mJpegCallback(dataPtr, mJpegCallbackCookie);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
LOGV("dataCallback(%d, %p)", msgType, dataPtr.get());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Camera::binderDied(const wp<IBinder>& who) {
|
||||
LOGW("ICamera died");
|
||||
notifyCallback(CAMERA_MSG_ERROR, DEAD_OBJECT, 0);
|
||||
if (mErrorCallback) {
|
||||
mErrorCallback(DEAD_OBJECT, mErrorCallbackCookie);
|
||||
}
|
||||
}
|
||||
|
||||
void Camera::DeathNotifier::binderDied(const wp<IBinder>& who) {
|
||||
|
Reference in New Issue
Block a user