This encoder will be used to inject VideoQualityAnalyzerInterface into VideoEncoder, so it will be able to measure its metrics and also trace frames from capturing on one peer side to rendering on another peer side. The decoder will be used for the same purpose but in VideoDecoder pert. Bug: webrtc:10138 Change-Id: Idf719753e3c0b3b1369ff206365bf0558705eb98 Reviewed-on: https://webrtc-review.googlesource.com/c/117363 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Peter Slatala <psla@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26381}
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
/*
|
|
* Copyright (c) 2019 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 TEST_PC_E2E_ANALYZER_VIDEO_ID_GENERATOR_H_
|
|
#define TEST_PC_E2E_ANALYZER_VIDEO_ID_GENERATOR_H_
|
|
|
|
#include <atomic>
|
|
|
|
namespace webrtc {
|
|
namespace test {
|
|
|
|
// IdGenerator generates ids. All provided ids have to be unique. There is no
|
|
// any order guarantees for provided ids.
|
|
template <typename T>
|
|
class IdGenerator {
|
|
public:
|
|
virtual ~IdGenerator() = default;
|
|
|
|
// Returns next unique id. There is no any order guarantees for provided ids.
|
|
virtual T GetNextId() = 0;
|
|
};
|
|
|
|
// Generates int ids. It is assumed, that no more then max int value ids will be
|
|
// requested from this generator.
|
|
class IntIdGenerator : public IdGenerator<int> {
|
|
public:
|
|
explicit IntIdGenerator(int start_value);
|
|
~IntIdGenerator() override;
|
|
|
|
int GetNextId() override;
|
|
|
|
private:
|
|
std::atomic<int> next_id_;
|
|
};
|
|
|
|
} // namespace test
|
|
} // namespace webrtc
|
|
|
|
#endif // TEST_PC_E2E_ANALYZER_VIDEO_ID_GENERATOR_H_
|