summaryrefslogtreecommitdiff
path: root/chromium/content/browser/renderer_host/media/video_capture_manager.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-24 11:30:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-30 12:56:19 +0000
commit6036726eb981b6c4b42047513b9d3f4ac865daac (patch)
tree673593e70678e7789766d1f732eb51f613a2703b /chromium/content/browser/renderer_host/media/video_capture_manager.cc
parent466052c4e7c052268fd931888cd58961da94c586 (diff)
downloadqtwebengine-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.cc32
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;