GetCueTimeline().InvokeTimeMarchesOn();
ScheduleEvent(event_type_names::kPlay);
- if (ready_state_ <= kHaveCurrentData)
- ScheduleEvent(event_type_names::kWaiting);
- else if (ready_state_ >= kHaveFutureData) {
#if BUILDFLAG(IS_TIZEN_TV)
- if (IsHbbTV()) {
- LOG(INFO) << "HbbTV: Send playing event on first timeupdate";
- playing_event_pending_ = true;
- }
+ // For HbbTV, there are tests which require the playing
+ // event to be sent only when we're actually playing, and
+ // not before. So in this case, we will only send the playing
+ // event once the time update event has progressed.
+ if (IsHbbTV()) {
+ LOG(INFO) << "HbbTV: Send playing event on first timeupdate";
+ playing_event_pending_ = true;
+ }
#endif
+ if (ready_state_ <= kHaveCurrentData)
+ ScheduleEvent(event_type_names::kWaiting);
+ else if (ready_state_ >= kHaveFutureData) {
ScheduleNotifyPlaying();
}
} else if (ready_state_ >= kHaveFutureData) {
#if BUILDFLAG(IS_TIZEN_TV)
if (IsHbbTV() && playing_event_pending_) {
+ LOG(INFO) << "Time update progressed, send delayed playing event";
playing_event_pending_ = false;
ScheduleNotifyPlaying();
}
void HTMLMediaElement::ScheduleNotifyPlaying() {
if (playing_event_pending_) {
- LOG(INFO) << "Playing event is pending in timeupdate";
+ LOG(INFO) << "Wait for time update before generating playing event";
return;
}
- LOG(INFO) << "Playing event is NOT pending";
ScheduleEvent(event_type_names::kPlaying);
ScheduleResolvePlayPromises();