Chromium Code Reviews| 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()) |