summaryrefslogtreecommitdiff
path: root/camera/libcameraservice/CameraService.cpp
diff options
context:
space:
mode:
author Wu-cheng Li <wuchengli@google.com> 2009-09-28 16:14:58 -0700
committer Wu-cheng Li <wuchengli@google.com> 2009-10-06 13:25:10 -0700
commit36f68b8f24df906c969581b0b8e1a47f95dc03cb (patch)
treeb1c8987ccd5b30c5527fc9abcfe275f163d8d8c5 /camera/libcameraservice/CameraService.cpp
parent5bba632d877c2878384ff21566c8eb6a1a22f37b (diff)
Add zoom functions and sendCommand.
b2060030
Diffstat (limited to 'camera/libcameraservice/CameraService.cpp')
-rw-r--r--camera/libcameraservice/CameraService.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/camera/libcameraservice/CameraService.cpp b/camera/libcameraservice/CameraService.cpp
index bab7d086a111..8279914f976a 100644
--- a/camera/libcameraservice/CameraService.cpp
+++ b/camera/libcameraservice/CameraService.cpp
@@ -195,7 +195,7 @@ void CameraService::decUsers() {
android_atomic_dec(&mUsers);
}
-static sp<MediaPlayer> newMediaPlayer(const char *file)
+static sp<MediaPlayer> newMediaPlayer(const char *file)
{
sp<MediaPlayer> mp = new MediaPlayer();
if (mp->setDataSource(file) == NO_ERROR) {
@@ -267,7 +267,7 @@ status_t CameraService::Client::lock()
status_t CameraService::Client::unlock()
{
int callingPid = getCallingPid();
- LOGD("unlock from pid %d (mClientPid %d)", callingPid, mClientPid);
+ LOGD("unlock from pid %d (mClientPid %d)", callingPid, mClientPid);
Mutex::Autolock _l(mLock);
// allow anyone to use camera
status_t result = checkPid();
@@ -648,7 +648,7 @@ status_t CameraService::Client::startPreviewMode()
status_t CameraService::Client::startPreview()
{
LOGD("startPreview (pid %d)", getCallingPid());
-
+
return startCameraMode(CAMERA_PREVIEW_MODE);
}
@@ -1134,6 +1134,21 @@ String8 CameraService::Client::getParameters() const
return params;
}
+status_t CameraService::Client::sendCommand(int32_t cmd, int32_t arg1, int32_t arg2)
+{
+ LOGD("sendCommand (pid %d)", getCallingPid());
+ Mutex::Autolock lock(mLock);
+ status_t result = checkPid();
+ if (result != NO_ERROR) return result;
+
+ if (mHardware == 0) {
+ LOGE("mHardware is NULL, returning.");
+ return INVALID_OPERATION;
+ }
+
+ return mHardware->sendCommand(cmd, arg1, arg2);
+}
+
void CameraService::Client::copyFrameAndPostCopiedFrame(sp<IMemoryHeap> heap, size_t offset, size_t size)
{
LOGV("copyFrameAndPostCopiedFrame");