From 2e5f22e85d177b34e790f832789d03aee438a7db Mon Sep 17 00:00:00 2001 From: John Grossman Date: Fri, 24 Aug 2012 14:47:25 -0700 Subject: Add a small hook to support gapless in AAH. Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630 --- media/libmediaplayerservice/MediaPlayerService.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'media/libmediaplayerservice') diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index 423d6ce1..6b57c484 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -922,15 +922,22 @@ status_t MediaPlayerService::Client::setNextPlayer(const sp& playe Mutex::Autolock l(mLock); sp c = static_cast(player.get()); mNextClient = c; - if (mAudioOutput != NULL && c != NULL) { - mAudioOutput->setNextOutput(c->mAudioOutput); - } else { - ALOGE("no current audio output"); + + if (c != NULL) { + if (mAudioOutput != NULL) { + mAudioOutput->setNextOutput(c->mAudioOutput); + } else if ((mPlayer != NULL) && !mPlayer->hardwareOutput()) { + ALOGE("no current audio output"); + } + + if ((mPlayer != NULL) && (mNextClient->getPlayer() != NULL)) { + mPlayer->setNextPlayer(mNextClient->getPlayer()); + } } + return OK; } - status_t MediaPlayerService::Client::seekTo(int msec) { ALOGV("[%d] seekTo(%d)", mConnId, msec); -- cgit v1.2.3