Revert "stagefright: fix TimedEventQueue wakelock"
This reverts commit aef04853de0ce27222cf6250b2ba4fa9fc6a72a8.
diff --git a/media/libstagefright/TimedEventQueue.cpp b/media/libstagefright/TimedEventQueue.cpp
index da23fea..1a9a26b 100644
--- a/media/libstagefright/TimedEventQueue.cpp
+++ b/media/libstagefright/TimedEventQueue.cpp
@@ -127,6 +127,7 @@
QueueItem item;
item.event = event;
item.realtime_us = realtime_us;
+ item.has_wakelock = false;
if (it == mQueue.begin()) {
mQueueHeadChangedCondition.signal();
@@ -134,7 +135,7 @@
if (realtime_us > ALooper::GetNowUs() + kWakelockMinDelay) {
acquireWakeLock_l();
- event->setWakeLock();
+ item.has_wakelock = true;
}
mQueue.insert(it, item);
@@ -190,7 +191,7 @@
ALOGV("cancelling event %d", (*it).event->eventID());
(*it).event->setEventID(0);
- if ((*it).event->hasWakeLock()) {
+ if ((*it).has_wakelock) {
releaseWakeLock_l();
}
it = mQueue.erase(it);
@@ -288,9 +289,6 @@
if (event != NULL) {
// Fire event with the lock NOT held.
event->fire(this, now_us);
- if (event->hasWakeLock()) {
- releaseWakeLock_l();
- }
}
}
}
@@ -302,6 +300,9 @@
if ((*it).event->eventID() == id) {
sp<Event> event = (*it).event;
event->setEventID(0);
+ if ((*it).has_wakelock) {
+ releaseWakeLock_l();
+ }
mQueue.erase(it);
return event;
}
diff --git a/media/libstagefright/include/TimedEventQueue.h b/media/libstagefright/include/TimedEventQueue.h
index 4e8912d..38a08b1 100644
--- a/media/libstagefright/include/TimedEventQueue.h
+++ b/media/libstagefright/include/TimedEventQueue.h
@@ -33,7 +33,7 @@
struct Event : public RefBase {
Event()
- : mEventID(0), mHasWakeLock(false) {
+ : mEventID(0) {
}
virtual ~Event() {}
@@ -42,14 +42,6 @@
return mEventID;
}
- void setWakeLock() {
- mHasWakeLock = true;
- }
-
- bool hasWakeLock() {
- return mHasWakeLock;
- }
-
protected:
virtual void fire(TimedEventQueue *queue, int64_t now_us) = 0;
@@ -57,7 +49,6 @@
friend class TimedEventQueue;
event_id mEventID;
- bool mHasWakeLock;
void setEventID(event_id id) {
mEventID = id;
@@ -127,6 +118,7 @@
struct QueueItem {
sp<Event> event;
int64_t realtime_us;
+ bool has_wakelock;
};
struct StopEvent : public TimedEventQueue::Event {