Exemple #1
0
void
AudioTrack::SetEnabledInternal(bool aEnabled, int aFlags)
{
  if (aEnabled == mEnabled) {
    return;
  }
  mEnabled = aEnabled;

  // If this AudioTrack is no longer in its original AudioTrackList, then
  // whether it is enabled or not has no effect on its original list.
  if (!mList) {
    return;
  }

  if (mEnabled) {
    HTMLMediaElement* element = mList->GetMediaElement();
    if (element) {
      element->NotifyMediaTrackEnabled(this);
    }
  } else {
    HTMLMediaElement* element = mList->GetMediaElement();
    if (element) {
      element->NotifyMediaTrackDisabled(this);
    }
  }

  if (!(aFlags & MediaTrack::FIRE_NO_EVENTS)) {
    mList->CreateAndDispatchChangeEvent();
  }
}