10 #include "packager/base/synchronization/condition_variable.h"
11 #include "packager/base/synchronization/lock.h"
12 #include "packager/media/public/ad_cue_generator_params.h"
36 double GetHint(
double time_in_seconds);
44 std::shared_ptr<const CueEvent>
GetNext(
double hint_in_seconds);
48 std::shared_ptr<const CueEvent>
PromoteAt(
double time_in_seconds);
53 bool HasMore(
double hint_in_seconds)
const;
61 std::shared_ptr<const CueEvent> PromoteAtNoLocking(
double time_in_seconds);
64 base::ConditionVariable sync_condition_;
65 size_t thread_count_ = 0;
66 size_t waiting_thread_count_ = 0;
67 bool cancelled_ =
false;
69 std::map<double, std::shared_ptr<CueEvent>> unpromoted_;
70 std::map<double, std::shared_ptr<CueEvent>> promoted_;