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

Unified Diff: content/browser/renderer_host/media/service_launched_video_capture_device.cc

Issue 2857303002: [Mojo Video Capture] Implement a VideoCaptureProvider using the Mojo service (part 2) (Closed)
Patch Set: Added back update to |state_| which was accidentally dropped in PatchSet 3 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/service_launched_video_capture_device.cc
diff --git a/content/browser/renderer_host/media/service_launched_video_capture_device.cc b/content/browser/renderer_host/media/service_launched_video_capture_device.cc
index a50fa9cc2a2e8d9ca33b70dc58d495beef465af8..af54de397dccd1866808356211a4126d35b2ef05 100644
--- a/content/browser/renderer_host/media/service_launched_video_capture_device.cc
+++ b/content/browser/renderer_host/media/service_launched_video_capture_device.cc
@@ -8,47 +8,69 @@ namespace content {
ServiceLaunchedVideoCaptureDevice::ServiceLaunchedVideoCaptureDevice(
video_capture::mojom::DevicePtr device)
- : device_(std::move(device)) {}
+ : device_(std::move(device)) {
+ // Unretained |this| is safe, because |this| owns |device_|.
+ device_.set_connection_error_handler(
+ base::Bind(&ServiceLaunchedVideoCaptureDevice::OnLostConnectionToDevice,
+ base::Unretained(this)));
+}
-ServiceLaunchedVideoCaptureDevice::~ServiceLaunchedVideoCaptureDevice() {}
+ServiceLaunchedVideoCaptureDevice::~ServiceLaunchedVideoCaptureDevice() {
+ DCHECK(sequence_checker_.CalledOnValidSequence());
+}
void ServiceLaunchedVideoCaptureDevice::GetPhotoCapabilities(
media::VideoCaptureDevice::GetPhotoCapabilitiesCallback callback) const {
+ DCHECK(sequence_checker_.CalledOnValidSequence());
NOTIMPLEMENTED();
}
void ServiceLaunchedVideoCaptureDevice::SetPhotoOptions(
media::mojom::PhotoSettingsPtr settings,
media::VideoCaptureDevice::SetPhotoOptionsCallback callback) {
+ DCHECK(sequence_checker_.CalledOnValidSequence());
NOTIMPLEMENTED();
}
void ServiceLaunchedVideoCaptureDevice::TakePhoto(
media::VideoCaptureDevice::TakePhotoCallback callback) {
+ DCHECK(sequence_checker_.CalledOnValidSequence());
NOTIMPLEMENTED();
}
void ServiceLaunchedVideoCaptureDevice::MaybeSuspendDevice() {
- NOTIMPLEMENTED();
+ DCHECK(sequence_checker_.CalledOnValidSequence());
+ // Not yet implemented on service side. Do nothing here.
}
void ServiceLaunchedVideoCaptureDevice::ResumeDevice() {
- NOTIMPLEMENTED();
+ DCHECK(sequence_checker_.CalledOnValidSequence());
+ // Not yet implemented on service side. Do nothing here.
}
void ServiceLaunchedVideoCaptureDevice::RequestRefreshFrame() {
- NOTIMPLEMENTED();
+ DCHECK(sequence_checker_.CalledOnValidSequence());
+ // Not yet implemented on service side. Do nothing here.
}
void ServiceLaunchedVideoCaptureDevice::SetDesktopCaptureWindowIdAsync(
gfx::NativeViewId window_id,
base::OnceClosure done_cb) {
- NOTIMPLEMENTED();
+ // This method should only be called for desktop capture devices.
+ // The video_capture Mojo service does not support desktop capture devices
+ // (yet) and should not be used for it.
+ NOTREACHED();
}
void ServiceLaunchedVideoCaptureDevice::OnUtilizationReport(
int frame_feedback_id,
double utilization) {
+ DCHECK(sequence_checker_.CalledOnValidSequence());
+ device_->OnReceiverReportingUtilization(frame_feedback_id, utilization);
+}
+
+void ServiceLaunchedVideoCaptureDevice::OnLostConnectionToDevice() {
+ DCHECK(sequence_checker_.CalledOnValidSequence());
NOTIMPLEMENTED();
}

Powered by Google App Engine
This is Rietveld 408576698