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

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

Issue 2902203002: [Mojo Video Capture] Hook up connection lost events (Closed)
Patch Set: Fix duplicate member introduced during merging 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/video_capture_controller.cc
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc
index d67f4ecf786040a4499c9445952946d37bca6009..fa67f319962e75cdddf9567534970d4c03d41877 100644
--- a/content/browser/renderer_host/media/video_capture_controller.cc
+++ b/content/browser/renderer_host/media/video_capture_controller.cc
@@ -498,7 +498,6 @@ void VideoCaptureController::OnDeviceLaunched(
entry.set_consumer_feedback_observer(launched_device_.get());
if (device_launch_observer_) {
device_launch_observer_->OnDeviceLaunched(this);
- device_launch_observer_ = nullptr;
}
}
@@ -518,15 +517,25 @@ void VideoCaptureController::OnDeviceLaunchAborted() {
}
}
+void VideoCaptureController::OnDeviceConnectionLost() {
+ DCHECK_CURRENTLY_ON(BrowserThread::IO);
+ if (device_launch_observer_) {
+ device_launch_observer_->OnDeviceConnectionLost(this);
+ device_launch_observer_ = nullptr;
+ }
+}
+
void VideoCaptureController::CreateAndStartDeviceAsync(
const media::VideoCaptureParams& params,
VideoCaptureDeviceLaunchObserver* observer,
base::OnceClosure done_cb) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
device_launch_observer_ = observer;
- device_launcher_->LaunchDeviceAsync(device_id_, stream_type_, params,
- GetWeakPtrForIOThread(), this,
- std::move(done_cb));
+ device_launcher_->LaunchDeviceAsync(
+ device_id_, stream_type_, params, GetWeakPtrForIOThread(),
+ base::Bind(&VideoCaptureController::OnDeviceConnectionLost,
+ GetWeakPtrForIOThread()),
+ this, std::move(done_cb));
}
void VideoCaptureController::ReleaseDeviceAsync(base::OnceClosure done_cb) {

Powered by Google App Engine
This is Rietveld 408576698