summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/TimedEventQueue.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-11-20 09:32:46 -0800
committerAndreas Huber <andih@google.com>2009-11-23 10:44:30 -0800
commitbfa6b2d7a1be1832ac40ed90aece1834f720b5c6 (patch)
tree5b4948c52fde583d593d088ffc4a7f772c904a86 /media/libstagefright/TimedEventQueue.cpp
parentbf89c099fc97717e3008a481aeddc76c1ac5e00d (diff)
downloadframeworks_av-bfa6b2d7a1be1832ac40ed90aece1834f720b5c6.zip
frameworks_av-bfa6b2d7a1be1832ac40ed90aece1834f720b5c6.tar.gz
frameworks_av-bfa6b2d7a1be1832ac40ed90aece1834f720b5c6.tar.bz2
Squashed commit of the following:
commit 1efc38dc3c33fef57b759002db3965ed07a28cb0 Author: Andreas Huber <andih@google.com> Date: Thu Nov 19 14:36:14 2009 -0800 Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed. Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed. commit 51973062eb5ee63fd64b845d72bac517cc3369cf Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 14:01:43 2009 -0800 Fix one more unit test, properly send seek-complete notification only after seek actually completed. commit cb22250b34b1fcfe1bf459723a761fd003950229 Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 12:31:36 2009 -0800 Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails. commit 25eb9241138ddf7bb27ce90657116c5f8a94d880 Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 12:30:40 2009 -0800 Support seeking and duration in AMRExtractor, assuming all frames are the same size. commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 10:21:44 2009 -0800 MediaPlayerImpl is dead, long live AwesomePlayer. commit c5b52d3c0674f5dc94db506afbce52401cceddac Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 09:42:23 2009 -0800 New implementation of the stagefright mediaplayer.
Diffstat (limited to 'media/libstagefright/TimedEventQueue.cpp')
-rw-r--r--media/libstagefright/TimedEventQueue.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/media/libstagefright/TimedEventQueue.cpp b/media/libstagefright/TimedEventQueue.cpp
index fa68771..d079e70 100644
--- a/media/libstagefright/TimedEventQueue.cpp
+++ b/media/libstagefright/TimedEventQueue.cpp
@@ -135,7 +135,9 @@ static bool MatchesEventID(
}
bool TimedEventQueue::cancelEvent(event_id id) {
- CHECK(id != 0);
+ if (id == 0) {
+ return false;
+ }
cancelEvents(&MatchesEventID, &id, true /* stopAfterFirstMatch */);
@@ -162,6 +164,7 @@ void TimedEventQueue::cancelEvents(
mQueueHeadChangedCondition.signal();
}
+ (*it).event->setEventID(0);
it = mQueue.erase(it);
if (stopAfterFirstMatch) {
@@ -228,7 +231,12 @@ void TimedEventQueue::threadEntry() {
}
}
+ if (mQueue.empty()) {
+ continue;
+ }
+
event = (*it).event;
+ event->setEventID(0);
mQueue.erase(it);
}