New issue
Advanced search Search tips

Issue 735661 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Add feature switch for ImageCapture

Project Member Reported by chfremer@chromium.org, Jun 21 2017

Issue description

Goal: Add a base::Feature for enabling/disabling the code paths that touch the video controls used for image capture.

This switch is useful for at least two things:
1.) It allows us to easily test whether or not certain camera issues are caused by the interaction with the video controls.
2.) In case certain camera drivers have (or start having) issues with Chromium interacting with the video controls, we can give users a way to disable them.

Current Plan: Check the new feature switch at the level of class ImageCaptureImpl, which is where all calls into the image capture APIs pass through before reaching the platform-specific implementations.

Note: In case some implementations of media::VideoCaptureDevice interact with video controls in non-image-capture code paths (e.g. method AllocateAndStart()), we need to find a way to prevent that from happening when the feature switch is set to disabled. One solution could be to do any initialization of video capture controls lazily at a time when an actual image capture API call arrives.



 

Comment 1 by mcasas@chromium.org, Jun 21 2017

Components: Blink>ImageCapture
Labels: -Pri-1 -OS-All M-61 OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows Pri-2
Status: Started (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/30e02557f6c81342783612c308bc1490a20bee84

commit 30e02557f6c81342783612c308bc1490a20bee84
Author: Miguel Casas-Sanchez <mcasas@chromium.org>
Date: Fri Jun 23 16:41:18 2017

Image Capture: add a feature flag to ease debugging on the field

This CL adds a feature flag for image capture to ease debugging of
issues in the wild (e.g.  https://crbug.com/722038  and
 https://crbug.com/709819 ).  The flag is enabled by default:
  chrome://flags/#enable-image-capture-api

Bug:  735661 
Change-Id: Iab06dbc9e6d4a5ecbbf85f70ad7221770915b464
Reviewed-on: https://chromium-review.googlesource.com/544185
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Christian Fremerey <chfremer@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481924}
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/chrome/browser/about_flags.cc
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/chrome/common/chrome_switches.cc
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/content/browser/image_capture/image_capture_impl.cc
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/content/public/common/content_features.cc
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/content/public/common/content_features.h
[modify] https://crrev.com/30e02557f6c81342783612c308bc1490a20bee84/tools/metrics/histograms/enums.xml

I think we need another CL for disabling the call to ResetUserAndCameraControlsToDefault at [1] as part of the switch. This would be very useful for investigating camera issues we are still seeing on ChromeOS.

[1] https://cs.chromium.org/chromium/src/media/capture/video/linux/v4l2_capture_delegate.cc?l=400
Status: Fixed (was: Started)
It seems to be doing the trick as-is right now, so I'll close
this issue. chfremer@ please feel free to reopen and continue
working on this if you feel there's more work to be done.

Sign in to add a comment