summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorTejas Shikhare <tshikhar@codeaurora.org>2012-04-30 17:05:13 -0700
committerGiulio Cervera <giulio.cervera@gmail.com>2012-05-31 01:57:11 +0200
commit283df8ca2e87c89ddb9952957319191281eba818 (patch)
treef09fe0a6e2f0d28eedcc80b3f2a7a221a762c471 /media
parent524c0d41f151595f581ca47c0a61b5cd8f74e8a1 (diff)
downloadframeworks_base-283df8ca2e87c89ddb9952957319191281eba818.zip
frameworks_base-283df8ca2e87c89ddb9952957319191281eba818.tar.gz
frameworks_base-283df8ca2e87c89ddb9952957319191281eba818.tar.bz2
frameworks/base: Enable LPA for music stream only.
Enable LPA playback for music streams only. There are no significant power savings for using LPA with other modes like ringtone. CRs-Fixed: 357327 (cherry picked from commit 75484628e5a915422f822b9759cb3ce8f9c4f0ad) Change-Id: Ibd3940f74bd6b0cf2446e1159640d39a107c2929
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.h6
-rw-r--r--media/libstagefright/AwesomePlayer.cpp7
2 files changed, 10 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.h b/media/libmediaplayerservice/MediaPlayerService.h
index 2b66b7a..24a8d09 100644
--- a/media/libmediaplayerservice/MediaPlayerService.h
+++ b/media/libmediaplayerservice/MediaPlayerService.h
@@ -103,6 +103,9 @@ class MediaPlayerService : public BnMediaPlayerService
virtual void closeSession();
#endif
void setAudioStreamType(int streamType) { mStreamType = streamType; }
+#ifdef WITH_QCOM_LPA
+ virtual int getAudioStreamType() { return mStreamType; }
+#endif
void setVolume(float left, float right);
status_t setAuxEffectSendLevel(float level);
status_t attachAuxEffect(int effectId);
@@ -162,6 +165,9 @@ class MediaPlayerService : public BnMediaPlayerService
virtual void pause() {}
virtual void close() {}
void setAudioStreamType(int streamType) {}
+#ifdef WITH_QCOM_LPA
+ virtual int getAudioStreamType() { return 0; }
+#endif
void setVolume(float left, float right) {}
uint32_t sampleRate() const { return mSampleRate; }
uint32_t format() const { return (uint32_t)mFormat; }
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index a2b120b..6da986a 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -936,10 +936,11 @@ status_t AwesomePlayer::play_l() {
if(strcmp("true",lpaDecode) == 0)
{
LOGV("LPAPlayer::getObjectsAlive() %d",LPAPlayer::objectsAlive);
+ int streamType = mAudioSink->getAudioStreamType();
if ( durationUs > 60000000 && !isFormatAdif
- &&(!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_MPEG) || !strcasecmp(mime,MEDIA_MIMETYPE_AUDIO_AAC))
- && LPAPlayer::objectsAlive == 0 && mVideoSource == NULL) {
- LOGE("LPAPlayer created, LPA MODE detected mime %s duration %d\n", mime, durationUs);
+ && (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_MPEG) || !strcasecmp(mime,MEDIA_MIMETYPE_AUDIO_AAC))
+ && LPAPlayer::objectsAlive == 0 && mVideoSource == NULL && streamType == AUDIO_STREAM_MUSIC) {
+ LOGE("LPAPlayer created, LPA MODE detected mime %s duration %lld AudioStream %d", mime, durationUs,streamType);
bool initCheck = false;
mAudioPlayer = new LPAPlayer(mAudioSink, initCheck, this);
if(!initCheck) {