diff options
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.cpp')
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index 5fe446f..166bae9 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -279,13 +279,17 @@ sp<ICrypto> MediaPlayerService::makeCrypto() { return new Crypto; } -status_t MediaPlayerService::enableRemoteDisplay(bool enable) { +status_t MediaPlayerService::enableRemoteDisplay(const char *iface) { Mutex::Autolock autoLock(mLock); - if (enable && mRemoteDisplay == NULL) { + if (iface != NULL) { + if (mRemoteDisplay != NULL) { + return INVALID_OPERATION; + } + mRemoteDisplay = new RemoteDisplay; - status_t err = mRemoteDisplay->start(); + status_t err = mRemoteDisplay->start(iface); if (err != OK) { mRemoteDisplay.clear(); @@ -293,7 +297,9 @@ status_t MediaPlayerService::enableRemoteDisplay(bool enable) { } return OK; - } else if (!enable && mRemoteDisplay != NULL) { + } + + if (mRemoteDisplay != NULL) { mRemoteDisplay->stop(); mRemoteDisplay.clear(); } |