void
TimelineConsumers::AddMarkerForAllObservedDocShells(UniquePtr<AbstractTimelineMarker>& aMarker)
{
  bool isMainThread = NS_IsMainThread();
  StaticMutexAutoLock lock(sMutex); // for `mMarkersStores`.

  for (MarkersStorage* storage = mMarkersStores.getFirst();
       storage != nullptr;
       storage = storage->getNext()) {
    UniquePtr<AbstractTimelineMarker> clone = aMarker->Clone();
    if (isMainThread) {
      storage->AddMarker(Move(clone));
    } else {
      storage->AddOTMTMarker(Move(clone));
    }
  }
}
UniquePtr<TrackInfo>
MP4TrackDemuxer::GetInfo() const
{
  return mInfo->Clone();
}