Loading media/libstagefright/AwesomePlayer.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -798,8 +798,10 @@ void AwesomePlayer::onBufferingUpdate() { } } } } if (mFlags & (PLAYING | PREPARING)) { postBufferingEvent_l(); postBufferingEvent_l(); } } } void AwesomePlayer::sendCacheStats() { void AwesomePlayer::sendCacheStats() { sp<MediaPlayerBase> listener = mListener.promote(); sp<MediaPlayerBase> listener = mListener.promote(); Loading Loading @@ -1001,6 +1003,10 @@ status_t AwesomePlayer::play_l() { } } addBatteryData(params); addBatteryData(params); if (isStreamingHTTP()) { postBufferingEvent_l(); } return OK; return OK; } } Loading media/libstagefright/TimedEventQueue.cpp +6 −0 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,8 @@ #include <media/stagefright/foundation/ALooper.h> #include <media/stagefright/foundation/ALooper.h> #include <binder/IServiceManager.h> #include <binder/IServiceManager.h> #include <powermanager/PowerManager.h> #include <powermanager/PowerManager.h> #include <binder/IPCThreadState.h> #include <utils/CallStack.h> namespace android { namespace android { Loading Loading @@ -327,10 +329,12 @@ void TimedEventQueue::acquireWakeLock_l() } } if (mPowerManager != 0) { if (mPowerManager != 0) { sp<IBinder> binder = new BBinder(); sp<IBinder> binder = new BBinder(); int64_t token = IPCThreadState::self()->clearCallingIdentity(); status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, binder, binder, String16("TimedEventQueue"), String16("TimedEventQueue"), String16("media")); String16("media")); IPCThreadState::self()->restoreCallingIdentity(token); if (status == NO_ERROR) { if (status == NO_ERROR) { mWakeLockToken = binder; mWakeLockToken = binder; } } Loading @@ -343,7 +347,9 @@ void TimedEventQueue::releaseWakeLock_l() return; return; } } if (mPowerManager != 0) { if (mPowerManager != 0) { int64_t token = IPCThreadState::self()->clearCallingIdentity(); mPowerManager->releaseWakeLock(mWakeLockToken, 0); mPowerManager->releaseWakeLock(mWakeLockToken, 0); IPCThreadState::self()->restoreCallingIdentity(token); } } mWakeLockToken.clear(); mWakeLockToken.clear(); } } Loading Loading
media/libstagefright/AwesomePlayer.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -798,8 +798,10 @@ void AwesomePlayer::onBufferingUpdate() { } } } } if (mFlags & (PLAYING | PREPARING)) { postBufferingEvent_l(); postBufferingEvent_l(); } } } void AwesomePlayer::sendCacheStats() { void AwesomePlayer::sendCacheStats() { sp<MediaPlayerBase> listener = mListener.promote(); sp<MediaPlayerBase> listener = mListener.promote(); Loading Loading @@ -1001,6 +1003,10 @@ status_t AwesomePlayer::play_l() { } } addBatteryData(params); addBatteryData(params); if (isStreamingHTTP()) { postBufferingEvent_l(); } return OK; return OK; } } Loading
media/libstagefright/TimedEventQueue.cpp +6 −0 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,8 @@ #include <media/stagefright/foundation/ALooper.h> #include <media/stagefright/foundation/ALooper.h> #include <binder/IServiceManager.h> #include <binder/IServiceManager.h> #include <powermanager/PowerManager.h> #include <powermanager/PowerManager.h> #include <binder/IPCThreadState.h> #include <utils/CallStack.h> namespace android { namespace android { Loading Loading @@ -327,10 +329,12 @@ void TimedEventQueue::acquireWakeLock_l() } } if (mPowerManager != 0) { if (mPowerManager != 0) { sp<IBinder> binder = new BBinder(); sp<IBinder> binder = new BBinder(); int64_t token = IPCThreadState::self()->clearCallingIdentity(); status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, binder, binder, String16("TimedEventQueue"), String16("TimedEventQueue"), String16("media")); String16("media")); IPCThreadState::self()->restoreCallingIdentity(token); if (status == NO_ERROR) { if (status == NO_ERROR) { mWakeLockToken = binder; mWakeLockToken = binder; } } Loading @@ -343,7 +347,9 @@ void TimedEventQueue::releaseWakeLock_l() return; return; } } if (mPowerManager != 0) { if (mPowerManager != 0) { int64_t token = IPCThreadState::self()->clearCallingIdentity(); mPowerManager->releaseWakeLock(mWakeLockToken, 0); mPowerManager->releaseWakeLock(mWakeLockToken, 0); IPCThreadState::self()->restoreCallingIdentity(token); } } mWakeLockToken.clear(); mWakeLockToken.clear(); } } Loading