Index: webrtc/media/base/videoadapter.h |
diff --git a/webrtc/media/base/videoadapter.h b/webrtc/media/base/videoadapter.h |
index caaab3ce6c144f75737db3eea6471c22f0c4e5f3..eb2257b9e0d3227e5f364c7076e977d5adc0c344 100644 |
--- a/webrtc/media/base/videoadapter.h |
+++ b/webrtc/media/base/videoadapter.h |
@@ -25,7 +25,9 @@ namespace cricket { |
class VideoAdapter { |
public: |
VideoAdapter(); |
- VideoAdapter(int required_resolution_alignment); |
+ // The output frames will have height and width that is divisible by |
+ // |required_resolution_alignment|. |
+ explicit VideoAdapter(int required_resolution_alignment); |
virtual ~VideoAdapter(); |
// Return the adapted resolution and cropping parameters given the |
@@ -49,12 +51,16 @@ class VideoAdapter { |
void OnOutputFormatRequest(const VideoFormat& format); |
// Requests the output frame size from |AdaptFrameResolution| to have as close |
- // as possible to |target_pixel_count|, but no more than |max_pixel_count| |
- // pixels. If |target_pixel_count| is not set, treat it as being equal to |
- // |max_pixel_count|. If |max_pixel_count| is not set, treat is as being the |
- // highest resolution available. |
- void OnResolutionRequest(const rtc::Optional<int>& target_pixel_count, |
- const rtc::Optional<int>& max_pixel_count); |
+ // as possible to |target_pixel_count| pixels (if set) but no more than |
+ // |max_pixel_count|. |
+ // |max_framerate_fps| is essentially analogous to |max_pixel_count|, but for |
+ // framerate rather than resolution. |
+ // Set |max_pixel_count| and/or |max_framerate_fps| to |
+ // std::numeric_limit<int>::max() if no upper limit is desired. |
+ void OnResolutionFramerateRequest( |
+ const rtc::Optional<int>& target_pixel_count, |
+ int max_pixel_count, |
+ int max_framerate_fps); |
private: |
// Determine if frame should be dropped based on input fps and requested fps. |
@@ -77,6 +83,7 @@ class VideoAdapter { |
rtc::Optional<VideoFormat> requested_format_ GUARDED_BY(critical_section_); |
int resolution_request_target_pixel_count_ GUARDED_BY(critical_section_); |
int resolution_request_max_pixel_count_ GUARDED_BY(critical_section_); |
+ int max_framerate_request_ GUARDED_BY(critical_section_); |
// The critical section to protect the above variables. |
rtc::CriticalSection critical_section_; |