diff options
| author | Gloria Wang <gwang@google.com> | 2009-10-29 15:46:37 -0700 |
|---|---|---|
| committer | Gloria Wang <gwang@google.com> | 2009-10-29 15:46:37 -0700 |
| commit | 608a2630bb1eec63431cf065a76962e138aa1dc2 (patch) | |
| tree | 33a262ec8a5dff421de759f8aadf6c8be28a46e5 /media/libmediaplayerservice/MediaPlayerService.cpp | |
| parent | fae288c7987f96df05e91ed154e934de267098be (diff) | |
| download | frameworks_base-608a2630bb1eec63431cf065a76962e138aa1dc2.zip frameworks_base-608a2630bb1eec63431cf065a76962e138aa1dc2.tar.gz frameworks_base-608a2630bb1eec63431cf065a76962e138aa1dc2.tar.bz2 | |
Dump media recorder PID in dumpsys media.player, and fix minor bugs.
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.cpp')
| -rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index 84be874..9d2c779 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -225,7 +225,10 @@ MediaPlayerService::~MediaPlayerService() sp<IMediaRecorder> MediaPlayerService::createMediaRecorder(pid_t pid) { #ifndef NO_OPENCORE - sp<MediaRecorderClient> recorder = new MediaRecorderClient(pid); + sp<MediaRecorderClient> recorder = new MediaRecorderClient(this, pid); + wp<MediaRecorderClient> w = recorder; + Mutex::Autolock lock(mLock); + mMediaRecorderClients.add(w); #else sp<MediaRecorderClient> recorder = NULL; #endif @@ -233,6 +236,13 @@ sp<IMediaRecorder> MediaPlayerService::createMediaRecorder(pid_t pid) return recorder; } +void MediaPlayerService::removeMediaRecorderClient(wp<MediaRecorderClient> client) +{ + Mutex::Autolock lock(mLock); + mMediaRecorderClients.remove(client); + LOGV("Delete media recorder client"); +} + sp<IMediaMetadataRetriever> MediaPlayerService::createMetadataRetriever(pid_t pid) { sp<MetadataRetrieverClient> retriever = new MetadataRetrieverClient(pid); @@ -460,6 +470,13 @@ status_t MediaPlayerService::dump(int fd, const Vector<String16>& args) sp<Client> c = mClients[i].promote(); if (c != 0) c->dump(fd, args); } + for (int i = 0, n = mMediaRecorderClients.size(); i < n; ++i) { + result.append(" MediaRecorderClient\n"); + sp<MediaRecorderClient> c = mMediaRecorderClients[i].promote(); + snprintf(buffer, 255, " pid(%d)\n\n", c->mPid); + result.append(buffer); + } + result.append(" Files opened and/or mapped:\n"); snprintf(buffer, SIZE, "/proc/%d/maps", myTid()); FILE *f = fopen(buffer, "r"); |
