summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaRecorderClient.cpp
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2009-10-29 15:46:37 -0700
committerGloria Wang <gwang@google.com>2009-10-29 15:46:37 -0700
commitdac6a31a33ba53fb93850670cdddd1e6515dadce (patch)
treeae36b4b259a20b94898c86f612832fee85b1d853 /media/libmediaplayerservice/MediaRecorderClient.cpp
parentf9ae38fa6eafa700b6642ea045c8749df5364cd6 (diff)
downloadframeworks_av-dac6a31a33ba53fb93850670cdddd1e6515dadce.zip
frameworks_av-dac6a31a33ba53fb93850670cdddd1e6515dadce.tar.gz
frameworks_av-dac6a31a33ba53fb93850670cdddd1e6515dadce.tar.bz2
Dump media recorder PID in dumpsys media.player, and fix minor bugs.
Diffstat (limited to 'media/libmediaplayerservice/MediaRecorderClient.cpp')
-rw-r--r--media/libmediaplayerservice/MediaRecorderClient.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/MediaRecorderClient.cpp b/media/libmediaplayerservice/MediaRecorderClient.cpp
index e54f20d..95ee3e4 100644
--- a/media/libmediaplayerservice/MediaRecorderClient.cpp
+++ b/media/libmediaplayerservice/MediaRecorderClient.cpp
@@ -32,7 +32,10 @@
#include <media/PVMediaRecorder.h>
#include <utils/String16.h>
+#include <media/AudioTrack.h>
+
#include "MediaRecorderClient.h"
+#include "MediaPlayerService.h"
namespace android {
@@ -80,6 +83,7 @@ status_t MediaRecorderClient::setVideoSource(int vs)
Mutex::Autolock lock(mLock);
if (mRecorder == NULL) {
LOGE("recorder is not initialized");
+ return NO_INIT;
}
return mRecorder->setVideoSource((video_source)vs);
}
@@ -93,6 +97,7 @@ status_t MediaRecorderClient::setAudioSource(int as)
Mutex::Autolock lock(mLock);
if (mRecorder == NULL) {
LOGE("recorder is not initialized");
+ return NO_INIT;
}
return mRecorder->setAudioSource((audio_source)as);
}
@@ -271,15 +276,18 @@ status_t MediaRecorderClient::release()
if (mRecorder != NULL) {
delete mRecorder;
mRecorder = NULL;
+ wp<MediaRecorderClient> client(this);
+ mMediaPlayerService->removeMediaRecorderClient(client);
}
return NO_ERROR;
}
-MediaRecorderClient::MediaRecorderClient(pid_t pid)
+MediaRecorderClient::MediaRecorderClient(const sp<MediaPlayerService>& service, pid_t pid)
{
LOGV("Client constructor");
mPid = pid;
mRecorder = new PVMediaRecorder();
+ mMediaPlayerService = service;
}
MediaRecorderClient::~MediaRecorderClient()