#ifndef THIRD_PARTY_BLINK_PUBLIC_WEB_MODULES_MEDIASTREAM_WEB_MEDIA_PLAYER_MS_H_
#define THIRD_PARTY_BLINK_PUBLIC_WEB_MODULES_MEDIASTREAM_WEB_MEDIA_PLAYER_MS_H_
#include <memory>
#include <string>
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/synchronization/lock.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "media/renderers/paint_canvas_video_renderer.h"
#include "media/video/gpu_video_accelerator_factories.h"
#include "third_party/blink/public/common/media/display_type.h"
#include "third_party/blink/public/common/media/watch_time_reporter.h"
#include "third_party/blink/public/platform/media/web_media_player_delegate.h"
#include "third_party/blink/public/platform/modules/mediastream/web_media_stream.h"
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/platform/web_media_player.h"
#include "third_party/blink/public/platform/web_surface_layer_bridge.h"
namespace media {
class GpuMemoryBufferVideoFramePool;
class MediaLog;
}
namespace cc {
class VideoLayer;
}
namespace blink {
CreateSurfaceLayerBridgeCB;
class MediaStreamAudioRenderer;
class MediaStreamInternalFrameWrapper;
class MediaStreamRendererFactory;
class MediaStreamVideoRenderer;
template <typename TimerFiredClass>
class TaskRunnerTimer;
class TimerBase;
class WebLocalFrame;
class WebMediaPlayerClient;
class WebMediaPlayerMSCompositor;
class WebString;
class WebVideoFrameSubmitter;
class BLINK_MODULES_EXPORT WebMediaPlayerMS
: public WebMediaStreamObserver,
public WebMediaPlayer,
public WebMediaPlayerDelegate::Observer,
public WebSurfaceLayerBridgeObserver { … };
}
#endif