Index: webrtc/media/base/videobroadcaster.cc |
diff --git a/webrtc/media/base/videobroadcaster.cc b/webrtc/media/base/videobroadcaster.cc |
index 5d0edeb6dfe4f9dc3129ba19231716f8caea03f5..c5b1484110c1775b976afd39f4596cd5aec71bb5 100644 |
--- a/webrtc/media/base/videobroadcaster.cc |
+++ b/webrtc/media/base/videobroadcaster.cc |
@@ -84,9 +84,7 @@ void VideoBroadcaster::UpdateWants() { |
wants.rotation_applied = true; |
} |
// wants.max_pixel_count == MIN(sink.wants.max_pixel_count) |
- if (sink.wants.max_pixel_count && |
- (!wants.max_pixel_count || |
- (*sink.wants.max_pixel_count < *wants.max_pixel_count))) { |
+ if (sink.wants.max_pixel_count < wants.max_pixel_count) { |
wants.max_pixel_count = sink.wants.max_pixel_count; |
} |
// Select the minimum requested target_pixel_count, if any, of all sinks so |
@@ -98,11 +96,15 @@ void VideoBroadcaster::UpdateWants() { |
(*sink.wants.target_pixel_count < *wants.target_pixel_count))) { |
wants.target_pixel_count = sink.wants.target_pixel_count; |
} |
+ // Select the minimum for the requested max framerates. |
+ if (sink.wants.max_framerate_fps < wants.max_framerate_fps) { |
+ wants.max_framerate_fps = sink.wants.max_framerate_fps; |
+ } |
} |
- if (wants.max_pixel_count && wants.target_pixel_count && |
- *wants.target_pixel_count >= *wants.max_pixel_count) { |
- wants.target_pixel_count = wants.max_pixel_count; |
+ if (wants.target_pixel_count && |
+ *wants.target_pixel_count >= wants.max_pixel_count) { |
+ wants.target_pixel_count.emplace(wants.max_pixel_count); |
} |
current_wants_ = wants; |
} |