#include "third_party/blink/renderer/modules/mediastream/media_stream_video_renderer_sink.h"
#include <memory>
#include <utility>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/sequence_checker.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "media/base/video_frame.h"
#include "media/base/video_frame_metadata.h"
#include "media/base/video_util.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_source.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_copier_base.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
const int kMinFrameSize = …;
namespace blink {
class MediaStreamVideoRendererSink::FrameDeliverer { … };
MediaStreamVideoRendererSink::MediaStreamVideoRendererSink(
MediaStreamComponent* video_component,
const RepaintCB& repaint_cb,
scoped_refptr<base::SequencedTaskRunner> video_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> main_render_task_runner)
: … { … }
MediaStreamVideoRendererSink::~MediaStreamVideoRendererSink() { … }
void MediaStreamVideoRendererSink::Start() { … }
void MediaStreamVideoRendererSink::Stop() { … }
void MediaStreamVideoRendererSink::Resume() { … }
void MediaStreamVideoRendererSink::Pause() { … }
void MediaStreamVideoRendererSink::OnReadyStateChanged(
WebMediaStreamSource::ReadyState state) { … }
MediaStreamVideoRendererSink::State
MediaStreamVideoRendererSink::GetStateForTesting() { … }
}