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 28d47d22346041d64e52476cd84da42c8f88c2d8..afd2276b8cf3215272e17ed8122250916d195943 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,23 @@ 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, |
+ bool mandatory = GetMandatoryConstraintValue( |
+ constraints, MediaStreamVideoSource::kMaxWidth, desired_width); |
+ mandatory |= GetConstraintValue(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); |
perkj_chrome
2014/04/15 13:01:06
nit: indentation
no longer working on chromium
2014/04/23 14:59:06
Done.
|
+ GetOptionalConstraintValue(constraints, MediaStreamVideoSource::kMaxHeight, |
+ desired_height); |
} |
const media::VideoCaptureFormat& GetBestFormatBasedOnArea( |
@@ -327,10 +317,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); |
perkj_chrome
2014/04/15 13:01:06
fits on line above?
no longer working on chromium
2014/04/23 14:59:06
No.
|
state_ = RETRIEVING_CAPABILITIES; |
GetCurrentSupportedFormats(max_requested_width, |