Home | History | Annotate | Download | only in media

Lines Matching refs:cue

53     final protected Vector<Cue> mActiveCues = new Vector<Cue>();
125 public abstract void updateView(Vector<Cue> activeCues);
135 for(Iterator<Pair<Long, Cue> > it =
137 Pair<Long, Cue> event = it.next();
138 Cue cue = event.second;
140 if (cue.mEndTimeMs == event.first) {
142 if (DEBUG) Log.v(TAG, "Removing " + cue);
143 mActiveCues.remove(cue);
144 if (cue.mRunID == 0) {
147 } else if (cue.mStartTimeMs == event.first) {
150 if (DEBUG) Log.v(TAG, "Adding " + cue);
151 if (cue.mInnerTimesMs != null) {
152 cue.onTime(timeMs);
154 mActiveCues.add(cue);
155 } else if (cue.mInnerTimesMs != null) {
156 // cue is modified
157 cue.onTime(timeMs);
172 Cue cue = run.mFirstCue;
173 while (cue != null) {
174 mCues.remove(cue);
175 Cue nextCue = cue.mNextInRun;
176 cue.mNextInRun = null;
177 cue = nextCue;
304 protected synchronized boolean addCue(Cue cue) {
305 mCues.add(cue);
307 if (cue.mRunID != 0) {
308 Run run = mRunsByID.get(cue.mRunID);
311 mRunsByID.put(cue.mRunID, run);
312 run.mEndTimeMs = cue.mEndTimeMs;
313 } else if (run.mEndTimeMs < cue.mEndTimeMs) {
314 run.mEndTimeMs = cue.mEndTimeMs;
318 cue.mNextInRun = run.mFirstCue;
319 run.mFirstCue = cue;
322 // if a cue is added that should be visible, need to refresh view
334 cue.mStartTimeMs + " <= " + nowMs + ", " +
335 cue.mEndTimeMs + " >= " + mLastTimeMs);
338 cue.mStartTimeMs <= nowMs &&
339 // we don't trust nowMs, so check any cue since last callback
340 cue.mEndTimeMs >= mLastTimeMs) {
359 // delay update so we don't update view on every cue. TODO why 10?
369 cue.mEndTimeMs >= mLastTimeMs &&
370 (cue.mStartTimeMs < mNextScheduledTimeMs ||
397 private SortedMap<Long, Vector<Cue> > mCues;
400 private boolean addEvent(Cue cue, long timeMs) {
401 Vector<Cue> cues = mCues.get(timeMs);
403 cues = new Vector<Cue>(2);
405 } else if (cues.contains(cue)) {
410 cues.add(cue);
414 private void removeEvent(Cue cue, long timeMs) {
415 Vector<Cue> cues = mCues.get(timeMs);
417 cues.remove(cue);
424 public void add(Cue cue) {
426 if (cue.mStartTimeMs >= cue.mEndTimeMs)
429 if (!addEvent(cue, cue.mStartTimeMs)) {
433 long lastTimeMs = cue.mStartTimeMs;
434 if (cue.mInnerTimesMs != null) {
435 for (long timeMs: cue.mInnerTimesMs) {
436 if (timeMs > lastTimeMs && timeMs < cue.mEndTimeMs) {
437 addEvent(cue, timeMs);
443 addEvent(cue, cue.mEndTimeMs);
446 public void remove(Cue cue) {
447 removeEvent(cue, cue.mStartTimeMs);
448 if (cue.mInnerTimesMs != null) {
449 for (long timeMs: cue.mInnerTimesMs) {
450 removeEvent(cue, timeMs);
453 removeEvent(cue, cue.mEndTimeMs);
456 public Iterable<Pair<Long, Cue>> entriesBetween(
458 return new Iterable<Pair<Long, Cue> >() {
460 public Iterator<Pair<Long, Cue> > iterator() {
473 SortedMap<Long, Vector<Cue>> tail = null;
488 class EntryIterator implements Iterator<Pair<Long, Cue> > {
495 public Pair<Long, Cue> next() {
499 mLastEntry = new Pair<Long, Cue>(
516 // remove end-cue
524 Cue cue = mLastEntry.second;
525 removeEvent(cue, cue.mStartTimeMs);
526 if (cue.mInnerTimesMs != null) {
527 for (long timeMs: cue.mInnerTimesMs) {
528 removeEvent(cue, timeMs);
533 public EntryIterator(SortedMap<Long, Vector<Cue> > cues) {
566 private Iterator<Cue> mListIterator;
568 private SortedMap<Long, Vector<Cue> > mRemainingCues;
569 private Iterator<Cue> mLastListIterator;
570 private Pair<Long,Cue> mLastEntry;
574 mCues = new TreeMap<Long, Vector<Cue>>();
579 public static class Cue {
586 public Cue mNextInRun;
622 public Cue mFirstCue;