Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: content/browser/renderer_host/media/mojo_service_launched_video_capture_device.h

Issue 2854443002: [Mojo Video Capture] Implement a VideoCaptureProvider that uses the video capture service
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_MOJO_SERVICE_LAUNCHED_VIDEO_CAPTURE_ DEVICE_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_MOJO_SERVICE_LAUNCHED_VIDEO_CAPTURE_ DEVICE_H_
7
8 #include "content/browser/renderer_host/media/video_capture_provider.h"
9 #include "services/video_capture/public/interfaces/device.mojom.h"
10
11 namespace content {
12
13 // Implementation of LaunchedVideoCaptureDevice that uses the "video_capture"
14 // Mojo service.
15 class MojoServiceLaunchedVideoCaptureDevice
16 : public LaunchedVideoCaptureDevice {
17 public:
18 MojoServiceLaunchedVideoCaptureDevice(video_capture::mojom::DevicePtr device);
19 ~MojoServiceLaunchedVideoCaptureDevice() override;
20
21 // LaunchedVideoCaptureDevice implementation:
22 void GetPhotoCapabilities(
23 media::VideoCaptureDevice::GetPhotoCapabilitiesCallback callback)
24 const override;
25 void SetPhotoOptions(
26 media::mojom::PhotoSettingsPtr settings,
27 media::VideoCaptureDevice::SetPhotoOptionsCallback callback) override;
28 void TakePhoto(
29 media::VideoCaptureDevice::TakePhotoCallback callback) override;
30 void MaybeSuspendDevice() override;
31 void ResumeDevice() override;
32 void RequestRefreshFrame() override;
33
34 void SetDesktopCaptureWindowIdAsync(gfx::NativeViewId window_id,
35 base::OnceClosure done_cb) override;
36
37 void OnUtilizationReport(int frame_feedback_id, double utilization) override;
38
39 private:
40 void OnGetPhotoCapabilitiesResponse(
41 media::VideoCaptureDevice::GetPhotoCapabilitiesCallback callback,
42 media::mojom::PhotoCapabilitiesPtr capabilities) const;
43 void OnSetPhotoOptionsResponse(
44 media::VideoCaptureDevice::SetPhotoOptionsCallback callback,
45 bool success);
46 void OnTakePhotoResponse(
47 media::VideoCaptureDevice::TakePhotoCallback callback,
48 media::mojom::BlobPtr blob);
49 void OnLostConnectionToDevice();
50
51 video_capture::mojom::DevicePtr device_;
52 base::ThreadChecker thread_checker_;
53 };
54
55 } // namespace content
56
57 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MOJO_SERVICE_LAUNCHED_VIDEO_CAPTU RE_DEVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698