// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_CONTROLLER_EVENT_HANDLER_H_ #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_CONTROLLER_EVENT_HANDLER_H_ #include "media/capture/mojom/video_capture_buffer.mojom.h" #include "media/capture/mojom/video_capture_types.mojom.h" #include "mojo/public/cpp/system/buffer.h" #include "ui/gfx/geometry/size.h" namespace media { class VideoFrame; } // namespace media namespace content { VideoCaptureControllerID; // Represents a buffer that is ready for consumption. Mirrors ReadyBuffer in // video_capture_types.mojom. struct ReadyBuffer { … }; // VideoCaptureControllerEventHandler is the interface for // VideoCaptureController to notify clients about the events such as // BufferReady, FrameInfo, Error, etc. // OnError and OnEnded need to be scheduled to the end of message queue to // guarantee some other clearing jobs are done before they are handled. // Other methods can be forwarded synchronously. // TODO(mcasas): https://crbug.com/654176 merge back into VideoCaptureController class VideoCaptureControllerEventHandler { … }; } // namespace content #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_CONTROLLER_EVENT_HANDLER_H_