diff options
author | James Dong <jdong@google.com> | 2010-01-15 18:13:58 -0800 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-01-15 18:28:16 -0800 |
commit | dd172fce75b2a1c3cb3a5d3b3bbb5020b1ae8675 (patch) | |
tree | 538c2d1505e11dbb55aa0839c3181d96e812868c /media/libmedia/mediarecorder.cpp | |
parent | 97419ed670a12f48a7609673da8ee5dc0376f075 (diff) | |
download | frameworks_av-dd172fce75b2a1c3cb3a5d3b3bbb5020b1ae8675.zip frameworks_av-dd172fce75b2a1c3cb3a5d3b3bbb5020b1ae8675.tar.gz frameworks_av-dd172fce75b2a1c3cb3a5d3b3bbb5020b1ae8675.tar.bz2 |
Media server death nodification
Diffstat (limited to 'media/libmedia/mediarecorder.cpp')
-rw-r--r-- | media/libmedia/mediarecorder.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/media/libmedia/mediarecorder.cpp b/media/libmedia/mediarecorder.cpp index 6b63931..7b5dabb 100644 --- a/media/libmedia/mediarecorder.cpp +++ b/media/libmedia/mediarecorder.cpp @@ -24,6 +24,7 @@ #include <utils/String8.h> #include <media/IMediaPlayerService.h> #include <media/IMediaRecorder.h> +#include <media/mediaplayer.h> // for MEDIA_ERROR_SERVER_DIED namespace android { @@ -576,19 +577,8 @@ status_t MediaRecorder::release() MediaRecorder::MediaRecorder() { LOGV("constructor"); - sp<IServiceManager> sm = defaultServiceManager(); - sp<IBinder> binder; - do { - binder = sm->getService(String16("media.player")); - if (binder != NULL) { - break; - } - LOGW("MediaPlayerService not published, waiting..."); - usleep(500000); // 0.5 s - } while(true); - - sp<IMediaPlayerService> service = interface_cast<IMediaPlayerService>(binder); + const sp<IMediaPlayerService>& service(getMediaPlayerService()); if (service != NULL) { mMediaRecorder = service->createMediaRecorder(getpid()); } @@ -637,5 +627,11 @@ void MediaRecorder::notify(int msg, int ext1, int ext2) } } +void MediaRecorder::died() +{ + LOGV("died"); + notify(MEDIA_RECORDER_EVENT_ERROR, MEDIA_ERROR_SERVER_DIED, 0); +} + }; // namespace android |