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

Unified Diff: content/renderer/media/media_stream_video_capturer_source.cc

Issue 2451473002: Follow up: stop mirroring session when tab is closed. Rename the callback function and clarify the … (Closed)
Patch Set: Created 4 years, 2 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/renderer/media/media_stream_video_capturer_source.cc
diff --git a/content/renderer/media/media_stream_video_capturer_source.cc b/content/renderer/media/media_stream_video_capturer_source.cc
index b04383dbee35ef5b385cf36e076df458d8832aa2..10c6fdea3729fb3defe625f6b1296de84de0bc7b 100644
--- a/content/renderer/media/media_stream_video_capturer_source.cc
+++ b/content/renderer/media/media_stream_video_capturer_source.cc
@@ -367,7 +367,7 @@ void LocalVideoCapturerSource::OnStateUpdate(VideoCaptureState state) {
case VIDEO_CAPTURE_STATE_PAUSED:
case VIDEO_CAPTURE_STATE_RESUMED:
- // Not applicable to reporting on device start success/failure.
+ // Not applicable to reporting on device starts or errors.
break;
}
}
@@ -482,18 +482,25 @@ void MediaStreamVideoCapturerSource::StartSourceImpl(
SetPowerLineFrequencyParamFromConstraints(constraints, &new_params);
}
- source_->StartCapture(new_params,
- frame_callback,
- base::Bind(&MediaStreamVideoCapturerSource::OnStarted,
- base::Unretained(this)));
+ is_capture_starting_ = true;
+ source_->StartCapture(
+ new_params, frame_callback,
+ base::Bind(&MediaStreamVideoCapturerSource::OnRunStateChanged,
+ base::Unretained(this)));
}
void MediaStreamVideoCapturerSource::StopSourceImpl() {
source_->StopCapture();
}
-void MediaStreamVideoCapturerSource::OnStarted(bool result) {
- OnStartDone(result ? MEDIA_DEVICE_OK : MEDIA_DEVICE_TRACK_START_FAILURE);
+void MediaStreamVideoCapturerSource::OnRunStateChanged(bool is_running) {
+ if (is_capture_starting_) {
+ OnStartDone(is_running ? MEDIA_DEVICE_OK
+ : MEDIA_DEVICE_TRACK_START_FAILURE);
+ is_capture_starting_ = false;
+ } else if (!is_running) {
+ StopSource();
+ }
}
const char*

Powered by Google App Engine
This is Rietveld 408576698