ResolutionChangeDetector now does not update its internal state. There is no impact because Reset() is always actively called. So this change renames ResolutionChangeDetector to ResolutionTracker, and rename the IsChanged() function into SetResolution(), which returns true if a replacement happened. Internally it always records the latest DesktopSize. Customers of this class can still use SetResolution() function to check whether a DesktopSize change happened. Bug: webrtc:8038 Change-Id: I6d25f3dd2d0567219a82b6688bf3e08560c8b0af Reviewed-on: https://chromium-review.googlesource.com/587405 Reviewed-by: Jamie Walch <jamiewalch@chromium.org> Commit-Queue: Zijie He <zijiehe@chromium.org> Cr-Commit-Position: refs/heads/master@{#19184}
35 lines
1020 B
C++
35 lines
1020 B
C++
/*
|
|
* Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_RESOLUTION_TRACKER_H_
|
|
#define WEBRTC_MODULES_DESKTOP_CAPTURE_RESOLUTION_TRACKER_H_
|
|
|
|
#include "webrtc/modules/desktop_capture/desktop_geometry.h"
|
|
|
|
namespace webrtc {
|
|
|
|
class ResolutionTracker final {
|
|
public:
|
|
// Sets the resolution to |size|. Returns true if a previous size was recorded
|
|
// and differs from |size|.
|
|
bool SetResolution(DesktopSize size);
|
|
|
|
// Resets to the initial state.
|
|
void Reset();
|
|
|
|
private:
|
|
DesktopSize last_size_;
|
|
bool initialized_ = false;
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // WEBRTC_MODULES_DESKTOP_CAPTURE_RESOLUTION_TRACKER_H_
|