diff options
author | miu <miu@chromium.org> | 2015-06-12 20:32:32 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-13 03:33:46 +0000 |
commit | 8388f277f8f889af895e17fbf28d5d3a538b9fbc (patch) | |
tree | ade2e79534f14f3c96123a9342c9d9309e67c732 /media/video/capture | |
parent | 19567f2ed8ea038ee0f49d8683300471ef3cd1a5 (diff) | |
download | chromium_src-8388f277f8f889af895e17fbf28d5d3a538b9fbc.zip chromium_src-8388f277f8f889af895e17fbf28d5d3a538b9fbc.tar.gz chromium_src-8388f277f8f889af895e17fbf28d5d3a538b9fbc.tar.bz2 |
Add VideoCaptureDevice::Client::GetBufferPoolUtilization()
Addes a new method to the VideoCaptureDevice::Client interface to allow
querying of the current buffer pool utilization. This will be used, in
an upcoming change, as a feedback signal to throttle tab/screen capture
data volumes.
BUG=156767
R=mcasas@chromium.org
Review URL: https://codereview.chromium.org/1185813003
Cr-Commit-Position: refs/heads/master@{#334320}
Diffstat (limited to 'media/video/capture')
-rw-r--r-- | media/video/capture/fake_video_capture_device_unittest.cc | 2 | ||||
-rw-r--r-- | media/video/capture/video_capture_device.h | 4 | ||||
-rw-r--r-- | media/video/capture/video_capture_device_unittest.cc | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/media/video/capture/fake_video_capture_device_unittest.cc b/media/video/capture/fake_video_capture_device_unittest.cc index 386849e..ee0c2af 100644 --- a/media/video/capture/fake_video_capture_device_unittest.cc +++ b/media/video/capture/fake_video_capture_device_unittest.cc @@ -103,6 +103,8 @@ class MockClient : public VideoCaptureDevice::Client { frame_cb_.Run(format); } + double GetBufferPoolUtilization() const override { return 0.0; } + private: base::Callback<void(const VideoCaptureFormat&)> frame_cb_; }; diff --git a/media/video/capture/video_capture_device.h b/media/video/capture/video_capture_device.h index 6fbfd7d..72aac2e 100644 --- a/media/video/capture/video_capture_device.h +++ b/media/video/capture/video_capture_device.h @@ -270,6 +270,10 @@ class MEDIA_EXPORT VideoCaptureDevice { // VideoCaptureDevice requests the |message| to be logged. virtual void OnLog(const std::string& message) {} + + // Returns the current buffer pool utilization, in the range 0.0 (no buffers + // are in use by producers or consumers) to 1.0 (all buffers are in use). + virtual double GetBufferPoolUtilization() const = 0; }; virtual ~VideoCaptureDevice(); diff --git a/media/video/capture/video_capture_device_unittest.cc b/media/video/capture/video_capture_device_unittest.cc index a89385b..610be86 100644 --- a/media/video/capture/video_capture_device_unittest.cc +++ b/media/video/capture/video_capture_device_unittest.cc @@ -82,6 +82,7 @@ class MockClient : public VideoCaptureDevice::Client { MOCK_METHOD0(DoOnIncomingCapturedBuffer, void(void)); MOCK_METHOD0(DoOnIncomingCapturedVideoFrame, void(void)); MOCK_METHOD1(OnError, void(const std::string& reason)); + MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); explicit MockClient(base::Callback<void(const VideoCaptureFormat&)> frame_cb) : main_thread_(base::ThreadTaskRunnerHandle::Get()), |