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 64d3184aef414aad45ae3a9f7f82beaa3b187ac6..33f00cc8c389ac3dd53adddd91f954485d9daf81 100644 |
--- a/content/renderer/media/media_stream_video_source.cc |
+++ b/content/renderer/media/media_stream_video_source.cc |
@@ -10,6 +10,7 @@ |
#include "base/logging.h" |
#include "base/strings/string_number_conversions.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/webrtc/webrtc_video_capturer_adapter.h" |
@@ -203,34 +204,22 @@ 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; |
-} |
- |
// 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 = GetMandatoryConstraintValue( |
+ constraints, MediaStreamVideoSource::kMaxWidth, desired_width); |
+ mandatory |= GetMandatoryConstraintValue( |
+ 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); |
+ GetOptionalConstraintValue(constraints, MediaStreamVideoSource::kMaxWidth, |
+ desired_width); |
+ GetOptionalConstraintValue(constraints, MediaStreamVideoSource::kMaxHeight, |
+ desired_height); |
} |
const media::VideoCaptureFormat& GetBestFormatBasedOnArea( |
@@ -324,10 +313,11 @@ 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); |
+ GetMandatoryConstraintValue(constraints, kMaxWidth, &max_requested_width); |
int max_requested_height = 0; |
- GetConstraintValue(constraints, true, kMaxHeight, &max_requested_height); |
+ GetMandatoryConstraintValue(constraints, kMaxHeight, |
+ &max_requested_height); |
state_ = RETRIEVING_CAPABILITIES; |
GetCurrentSupportedFormats(max_requested_width, |