| /* |
| * Copyright (c) 2013 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_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_ |
| #define WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_ |
| |
| #include <string> |
| #include "webrtc/modules/include/module_common_types.h" |
| |
| namespace webrtc { |
| namespace testing { |
| namespace bwe { |
| |
| class BaseLineFileInterface { |
| public: |
| virtual ~BaseLineFileInterface() {} |
| |
| // Compare, or log, one estimate against the baseline file. |
| virtual void Estimate(int64_t time_ms, uint32_t estimate_bps) = 0; |
| |
| // Verify whether there are any differences between the logged estimates and |
| // those read from the baseline file. If updating the baseline file, write out |
| // new file if there were differences. Return true if logged estimates are |
| // identical, or if output file was updated successfully. |
| virtual bool VerifyOrWrite() = 0; |
| |
| // Create an instance for either verifying estimates against a baseline file |
| // with name |filename|, living in the resources/ directory or, if the flag |
| // |write_updated_file| is set, write logged estimates to a file with the same |
| // name, living in the out/ directory. |
| static BaseLineFileInterface* Create(const std::string& filename, |
| bool write_updated_file); |
| }; |
| } // namespace bwe |
| } // namespace testing |
| } // namespace webrtc |
| |
| #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_ |