#include "chrome/browser/ui/views/media_preview/camera_preview/video_stream_coordinator.h"
#include <stdlib.h>
#include <utility>
#include "chrome/browser/ui/views/media_preview/camera_preview/preview_badge.h"
#include "chrome/browser/ui/views/media_preview/camera_preview/video_format_comparison.h"
#include "chrome/browser/ui/views/media_preview/camera_preview/video_stream_view.h"
#include "chrome/browser/ui/views/media_preview/media_preview_metrics.h"
#include "content/public/browser/context_factory.h"
#include "media/capture/video_capture_types.h"
#include "ui/views/controls/throbber.h"
#include "ui/views/layout/box_layout_view.h"
#include "ui/views/layout/fill_layout.h"
VideoStreamCoordinator::VideoStreamCoordinator(
views::View& parent_view,
media_preview_metrics::Context metrics_context)
: … { … }
VideoStreamCoordinator::~VideoStreamCoordinator() { … }
void VideoStreamCoordinator::ConnectToDevice(
const media::VideoCaptureDeviceInfo& device_info,
mojo::Remote<video_capture::mojom::VideoSource> video_source) { … }
void VideoStreamCoordinator::OnCameraVideoFrame(
scoped_refptr<media::VideoFrame> frame) { … }
void VideoStreamCoordinator::OnFatalErrorOrDisconnection() { … }
void VideoStreamCoordinator::StopAndCleanup(
mojo::Remote<video_capture::mojom::VideoSourceProvider>
video_source_provider) { … }
void VideoStreamCoordinator::Stop() { … }
void VideoStreamCoordinator::StopInternal(
mojo::Remote<video_capture::mojom::VideoSourceProvider>
video_source_provider) { … }
void VideoStreamCoordinator::OnViewIsDeleting(views::View* observed_view) { … }
void VideoStreamCoordinator::OnViewBoundsChanged(views::View* observed_view) { … }
void VideoStreamCoordinator::OnPermissionChange(bool has_permission) { … }
void VideoStreamCoordinator::OnClosing() { … }
void VideoStreamCoordinator::OnReceivedFirstFrame() { … }
void VideoStreamCoordinator::RecordVideoStreamMetrics(
size_t rendered_frame_count) { … }