| Index: content/renderer/media/media_stream_video_source.cc
|
| diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc
|
| index 73313d6e4aae1a611576e7cedb4565da6e4253fb..59fdaae86a50e715bc5fbad8f8513db16a35907a 100644
|
| --- a/content/renderer/media/media_stream_video_source.cc
|
| +++ b/content/renderer/media/media_stream_video_source.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/logging.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "content/child/child_process.h"
|
| +#include "content/renderer/media/media_stream_constraints_util.h"
|
| #include "content/renderer/media/media_stream_dependency_factory.h"
|
| #include "content/renderer/media/media_stream_video_track.h"
|
| #include "content/renderer/media/video_frame_deliverer.h"
|
| @@ -45,8 +46,6 @@ const int MediaStreamVideoSource::kDefaultHeight = 480;
|
| const int MediaStreamVideoSource::kDefaultFrameRate = 30;
|
|
|
| namespace {
|
| -// Constraints keys for http://dev.w3.org/2011/webrtc/editor/getusermedia.html
|
| -const char kSourceId[] = "sourceId";
|
|
|
| // Google-specific key prefix. Constraints with this prefix are ignored if they
|
| // are unknown.
|
| @@ -78,7 +77,7 @@ bool UpdateFormatForConstraint(
|
| return true;
|
| }
|
|
|
| - if (constraint_name == kSourceId) {
|
| + if (constraint_name == MediaStreamSource::kSourceId) {
|
| // This is a constraint that doesn't affect the format.
|
| return true;
|
| }
|
| @@ -206,18 +205,6 @@ media::VideoCaptureFormats FilterFormats(
|
| return candidates;
|
| }
|
|
|
| -bool GetConstraintValue(const blink::WebMediaConstraints& constraints,
|
| - bool mandatory, const blink::WebString& name,
|
| - int* value) {
|
| - blink::WebString value_str;
|
| - bool ret = mandatory ?
|
| - constraints.getMandatoryConstraintValue(name, value_str) :
|
| - constraints.getOptionalConstraintValue(name, value_str);
|
| - if (ret)
|
| - base::StringToInt(value_str.utf8(), value);
|
| - return ret;
|
| -}
|
| -
|
| // Returns true if |constraint| has mandatory constraints.
|
| bool HasMandatoryConstraints(const blink::WebMediaConstraints& constraints) {
|
| blink::WebVector<blink::WebMediaConstraint> mandatory_constraints;
|
| @@ -228,19 +215,21 @@ bool HasMandatoryConstraints(const blink::WebMediaConstraints& constraints) {
|
| // Retrieve the desired max width and height from |constraints|.
|
| void GetDesiredMaxWidthAndHeight(const blink::WebMediaConstraints& constraints,
|
| int* desired_width, int* desired_height) {
|
| - bool mandatory = GetConstraintValue(constraints, true,
|
| - MediaStreamVideoSource::kMaxWidth,
|
| - desired_width);
|
| - mandatory |= GetConstraintValue(constraints, true,
|
| - MediaStreamVideoSource::kMaxHeight,
|
| - desired_height);
|
| + bool mandatory = GetMandatoryConstraintValueAsInteger(
|
| + constraints, MediaStreamVideoSource::kMaxWidth, desired_width);
|
| + mandatory |= GetMandatoryConstraintValueAsInteger(
|
| + constraints, MediaStreamVideoSource::kMaxHeight, desired_height);
|
| + // Skip the optional constraints if any of the mandatory constraint is
|
| + // specified.
|
| if (mandatory)
|
| return;
|
|
|
| - GetConstraintValue(constraints, false, MediaStreamVideoSource::kMaxWidth,
|
| - desired_width);
|
| - GetConstraintValue(constraints, false, MediaStreamVideoSource::kMaxHeight,
|
| - desired_height);
|
| + GetOptionalConstraintValueAsInteger(constraints,
|
| + MediaStreamVideoSource::kMaxWidth,
|
| + desired_width);
|
| + GetOptionalConstraintValueAsInteger(constraints,
|
| + MediaStreamVideoSource::kMaxHeight,
|
| + desired_height);
|
| }
|
|
|
| const media::VideoCaptureFormat& GetBestFormatBasedOnArea(
|
| @@ -417,10 +406,12 @@ void MediaStreamVideoSource::AddTrack(
|
| // Tab capture and Screen capture needs the maximum requested height
|
| // and width to decide on the resolution.
|
| int max_requested_width = 0;
|
| - GetConstraintValue(constraints, true, kMaxWidth, &max_requested_width);
|
| + GetMandatoryConstraintValueAsInteger(constraints, kMaxWidth,
|
| + &max_requested_width);
|
|
|
| int max_requested_height = 0;
|
| - GetConstraintValue(constraints, true, kMaxHeight, &max_requested_height);
|
| + GetMandatoryConstraintValueAsInteger(constraints, kMaxHeight,
|
| + &max_requested_height);
|
|
|
| state_ = RETRIEVING_CAPABILITIES;
|
| GetCurrentSupportedFormats(
|
|
|