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

Unified Diff: third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp

Issue 2758063002: Image Capture: cache constraints and append them to MediaStreamTrack.getConstraints() (Closed)
Patch Set: reillyg@s comments Created 3 years, 9 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: third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
diff --git a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
index a93e097575f7b153eadf2a430bede2cdb5fa05ec..495918c8147950cc8b939c48e51e1e17a5bbdacc 100644
--- a/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
+++ b/third_party/WebKit/Source/modules/mediastream/MediaStreamTrack.cpp
@@ -216,10 +216,6 @@ MediaStreamTrack* MediaStreamTrack::clone(ScriptState* scriptState) {
return clonedTrack;
}
-void MediaStreamTrack::getConstraints(MediaTrackConstraints& constraints) {
- MediaConstraintsImpl::convertConstraints(m_constraints, constraints);
-}
-
void MediaStreamTrack::setConstraints(const WebMediaConstraints& constraints) {
m_constraints = constraints;
}
@@ -229,18 +225,42 @@ void MediaStreamTrack::getCapabilities(MediaTrackCapabilities& capabilities) {
capabilities = m_imageCapture->getMediaTrackCapabilities();
}
+void MediaStreamTrack::getConstraints(MediaTrackConstraints& constraints) {
+ MediaConstraintsImpl::convertConstraints(m_constraints, constraints);
+
+ if (!m_imageCapture)
+ return;
+ HeapVector<MediaTrackConstraintSet> vector;
+ if (constraints.hasAdvanced())
Guido Urdaneta 2017/03/19 13:53:12 Shouldn't you support basic constraints as well? I
mcasas 2017/03/19 20:37:40 IIUC all ImageCapture constraints go under the ad
Guido Urdaneta 2017/03/20 09:17:35 I see that the code in the previous CL just passes
mcasas 2017/03/20 16:45:56 Correct, but note that the use of advanced[0] in a
+ vector = constraints.advanced();
+ auto imageCaptureConstraints = m_imageCapture->getMediaTrackConstraints();
+ // TODO(mcasas): add |torch|, https://crbug.com/700607.
+ if (imageCaptureConstraints.hasWhiteBalanceMode() ||
+ imageCaptureConstraints.hasExposureMode() ||
+ imageCaptureConstraints.hasFocusMode() ||
+ imageCaptureConstraints.hasExposureCompensation() ||
+ imageCaptureConstraints.hasColorTemperature() ||
+ imageCaptureConstraints.hasIso() ||
+ imageCaptureConstraints.hasBrightness() ||
+ imageCaptureConstraints.hasContrast() ||
+ imageCaptureConstraints.hasSaturation() ||
+ imageCaptureConstraints.hasSharpness() ||
+ imageCaptureConstraints.hasZoom()) {
+ // Add image capture constraints, if any, as another entry to advanced().
+ vector.emplace_back(imageCaptureConstraints);
+ constraints.setAdvanced(vector);
+ }
+}
+
void MediaStreamTrack::getSettings(MediaTrackSettings& settings) {
WebMediaStreamTrack::Settings platformSettings;
m_component->getSettings(platformSettings);
- if (platformSettings.hasFrameRate()) {
+ if (platformSettings.hasFrameRate())
settings.setFrameRate(platformSettings.frameRate);
- }
- if (platformSettings.hasWidth()) {
+ if (platformSettings.hasWidth())
settings.setWidth(platformSettings.width);
- }
- if (platformSettings.hasHeight()) {
+ if (platformSettings.hasHeight())
settings.setHeight(platformSettings.height);
- }
if (RuntimeEnabledFeatures::mediaCaptureDepthEnabled() &&
m_component->source()->type() == MediaStreamSource::TypeVideo) {
if (platformSettings.hasVideoKind())

Powered by Google App Engine
This is Rietveld 408576698