diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-24 11:30:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-30 12:56:19 +0000 |
commit | 6036726eb981b6c4b42047513b9d3f4ac865daac (patch) | |
tree | 673593e70678e7789766d1f732eb51f613a2703b /chromium/content/browser/renderer_host/media/video_capture_manager.cc | |
parent | 466052c4e7c052268fd931888cd58961da94c586 (diff) | |
download | qtwebengine-chromium-6036726eb981b6c4b42047513b9d3f4ac865daac.tar.gz |
BASELINE: Update Chromium to 70.0.3538.78
Change-Id: Ie634710bf039e26c1957f4ae45e101bd4c434ae7
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/content/browser/renderer_host/media/video_capture_manager.cc')
-rw-r--r-- | chromium/content/browser/renderer_host/media/video_capture_manager.cc | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/chromium/content/browser/renderer_host/media/video_capture_manager.cc b/chromium/content/browser/renderer_host/media/video_capture_manager.cc index 3cdff16e6ef..12e9dc70f33 100644 --- a/chromium/content/browser/renderer_host/media/video_capture_manager.cc +++ b/chromium/content/browser/renderer_host/media/video_capture_manager.cc @@ -49,6 +49,12 @@ void LogVideoCaptureEvent(VideoCaptureEvent event) { NUM_VIDEO_CAPTURE_EVENT); } +void LogVideoCaptureError(media::VideoCaptureError error) { + UMA_HISTOGRAM_ENUMERATION( + "Media.VideoCapture.Error", error, + static_cast<int>(media::VideoCaptureError::kMaxValue) + 1); +} + const media::VideoCaptureSessionId kFakeSessionId = -1; } // namespace @@ -263,7 +269,10 @@ void VideoCaptureManager::ProcessDeviceStartRequestQueue() { const media::VideoCaptureDeviceInfo* device_info = GetDeviceInfoById(controller->device_id()); if (!device_info) { - OnDeviceLaunchFailed(controller); + OnDeviceLaunchFailed( + controller, + media::VideoCaptureError:: + kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound); return; } for (auto& observer : capture_observers_) @@ -295,7 +304,7 @@ void VideoCaptureManager::OnDeviceLaunched(VideoCaptureController* controller) { DCHECK_EQ(controller, device_start_request_queue_.begin()->controller()); DCHECK(controller); - if (controller->stream_type() == MEDIA_DESKTOP_VIDEO_CAPTURE) { + if (controller->stream_type() == MEDIA_GUM_DESKTOP_VIDEO_CAPTURE) { const media::VideoCaptureSessionId session_id = device_start_request_queue_.front().session_id(); DCHECK(session_id != kFakeSessionId); @@ -318,12 +327,13 @@ void VideoCaptureManager::OnDeviceLaunched(VideoCaptureController* controller) { } void VideoCaptureManager::OnDeviceLaunchFailed( - VideoCaptureController* controller) { + VideoCaptureController* controller, + media::VideoCaptureError error) { std::ostringstream string_stream; string_stream << "Launching device has failed. device_id = " << controller->device_id(); EmitLogMessage(string_stream.str(), 1); - controller->OnError(); + controller->OnError(error); device_start_request_queue_.pop_front(); ProcessDeviceStartRequestQueue(); @@ -341,7 +351,8 @@ void VideoCaptureManager::OnDeviceConnectionLost( string_stream << "Lost connection to device. device_id = " << controller->device_id(); EmitLogMessage(string_stream.str(), 1); - controller->OnError(); + controller->OnError( + media::VideoCaptureError::kVideoCaptureManagerDeviceConnectionLost); } void VideoCaptureManager::ConnectClient( @@ -387,7 +398,7 @@ void VideoCaptureManager::DisconnectClient( VideoCaptureController* controller, VideoCaptureControllerID client_id, VideoCaptureControllerEventHandler* client_handler, - bool aborted_due_to_error) { + media::VideoCaptureError error) { DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK(controller); DCHECK(client_handler); @@ -396,7 +407,7 @@ void VideoCaptureManager::DisconnectClient( NOTREACHED(); return; } - if (!aborted_due_to_error) { + if (error == media::VideoCaptureError::kNone) { if (controller->has_received_frames()) { LogVideoCaptureEvent(VIDEO_CAPTURE_STOP_CAPTURE_OK); } else if (controller->stream_type() == MEDIA_DEVICE_VIDEO_CAPTURE) { @@ -408,6 +419,11 @@ void VideoCaptureManager::DisconnectClient( } } else { LogVideoCaptureEvent(VIDEO_CAPTURE_STOP_CAPTURE_DUE_TO_ERROR); + LogVideoCaptureError(error); + std::ostringstream string_stream; + string_stream << "Video capture session stopped with error code " + << static_cast<int>(error); + EmitLogMessage(string_stream.str(), 1); for (auto it : sessions_) { if (it.second.type == controller->stream_type() && it.second.id == controller->device_id()) { @@ -573,7 +589,7 @@ void VideoCaptureManager::MaybePostDesktopCaptureWindowId( return; } - DCHECK_EQ(MEDIA_DESKTOP_VIDEO_CAPTURE, existing_device->stream_type()); + DCHECK_EQ(MEDIA_GUM_DESKTOP_VIDEO_CAPTURE, existing_device->stream_type()); DesktopMediaID id = DesktopMediaID::Parse(existing_device->device_id()); if (id.is_null()) return; |