void MediaStreamTrack::trackMutedChanged() { if (stopped()) return; if (muted()) scheduleEventDispatch(Event::create(eventNames().muteEvent, false, false)); else scheduleEventDispatch(Event::create(eventNames().unmuteEvent, false, false)); configureTrackRendering(); }
void MediaStreamTrack::trackReadyStateChanged() { if (stopped()) return; RealtimeMediaSource::ReadyState readyState = m_privateTrack->readyState(); if (readyState == RealtimeMediaSource::Live) scheduleEventDispatch(Event::create(eventNames().startedEvent, false, false)); else if (readyState == RealtimeMediaSource::Ended && !m_stoppingTrack) scheduleEventDispatch(Event::create(eventNames().endedEvent, false, false)); configureTrackRendering(); }
void MediaStreamTrack::sourceStateChanged() { if (m_stopped) return; MediaStreamSource::ReadyState oldReadyState = m_readyState; m_readyState = m_source->readyState(); if (m_readyState >= MediaStreamSource::Live && oldReadyState == MediaStreamSource::New) scheduleEventDispatch(Event::create(eventNames().startedEvent, false, false)); if (m_readyState == MediaStreamSource::Ended && oldReadyState != MediaStreamSource::Ended) scheduleEventDispatch(Event::create(eventNames().endedEvent, false, false)); }
void MediaStreamTrack::sourceMutedChanged() { if (m_stopped) return; bool muted = m_source->muted(); if (m_muted == muted) return; m_muted = muted; if (m_muted) scheduleEventDispatch(Event::create(eventNames().muteEvent, false, false)); else scheduleEventDispatch(Event::create(eventNames().unmuteEvent, false, false)); configureTrackRendering(); }
void MediaStreamTrack::stopProducingData() { if (m_stopped || !m_source) return; // Set m_stopped before stopping the source because that may result in a call to sourceChangedState // and we only want to dispatch the 'ended' event if necessary. m_stopped = true; m_source->stop(); if (m_readyState != MediaStreamSource::Ended) scheduleEventDispatch(Event::create(eventNames().endedEvent, false, false)); }