Index: content/renderer/media/media_stream_constraints_util.cc |
diff --git a/content/renderer/media/media_stream_constraints_util.cc b/content/renderer/media/media_stream_constraints_util.cc |
index c27893925f22806a751c2c53683e43cc8ea8e45f..6af128dda4e246ee1f4bb62d3802bd8ac91c2637 100644 |
--- a/content/renderer/media/media_stream_constraints_util.cc |
+++ b/content/renderer/media/media_stream_constraints_util.cc |
@@ -212,7 +212,8 @@ VideoTrackAdapterSettings SelectVideoTrackAdapterSettings( |
const blink::WebMediaTrackConstraintSet& basic_constraint_set, |
const ResolutionSet& resolution_set, |
const NumericRangeSet<double>& frame_rate_set, |
- const media::VideoCaptureFormat& source_format) { |
+ const media::VideoCaptureFormat& source_format, |
+ bool expect_source_native_size) { |
ResolutionSet::Point resolution = resolution_set.SelectClosestPointToIdeal( |
basic_constraint_set, source_format.frame_size.height(), |
source_format.frame_size.width()); |
@@ -237,9 +238,13 @@ VideoTrackAdapterSettings SelectVideoTrackAdapterSettings( |
if (track_max_frame_rate >= source_format.frame_rate) |
track_max_frame_rate = 0.0; |
+ base::Optional<gfx::Size> expected_native_size; |
+ if (expect_source_native_size) |
+ expected_native_size = source_format.frame_size; |
+ |
return VideoTrackAdapterSettings( |
track_max_width, track_max_height, track_min_aspect_ratio, |
- track_max_aspect_ratio, track_max_frame_rate); |
+ track_max_aspect_ratio, track_max_frame_rate, expected_native_size); |
} |
} // namespace content |