This unblocks injecting platform-specific resources, such as power usage signals in Chrome. This CL adds AddAdaptationResource to PeerConnectionInterface and integration tests verifying that if an injected resource is overusing, resolution will soon be reduced. To aid testing, some testing-only classes have been updated. Bug: webrtc:11525 Change-Id: I820099e79f18d910fd641ee1412ad064b99ebce9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177003 Reviewed-by: Evan Shrubsole <eshr@google.com> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31505}
46 lines
1.4 KiB
C++
46 lines
1.4 KiB
C++
/*
|
|
* Copyright 2018 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 PC_TEST_FAKE_PERIODIC_VIDEO_TRACK_SOURCE_H_
|
|
#define PC_TEST_FAKE_PERIODIC_VIDEO_TRACK_SOURCE_H_
|
|
|
|
#include "pc/test/fake_periodic_video_source.h"
|
|
#include "pc/video_track_source.h"
|
|
|
|
namespace webrtc {
|
|
|
|
// A VideoTrackSource generating frames with configured size and frame interval.
|
|
class FakePeriodicVideoTrackSource : public VideoTrackSource {
|
|
public:
|
|
explicit FakePeriodicVideoTrackSource(bool remote)
|
|
: FakePeriodicVideoTrackSource(FakePeriodicVideoSource::Config(),
|
|
remote) {}
|
|
|
|
FakePeriodicVideoTrackSource(FakePeriodicVideoSource::Config config,
|
|
bool remote)
|
|
: VideoTrackSource(remote), source_(config) {}
|
|
|
|
~FakePeriodicVideoTrackSource() = default;
|
|
|
|
const FakePeriodicVideoSource& fake_periodic_source() const {
|
|
return source_;
|
|
}
|
|
|
|
protected:
|
|
rtc::VideoSourceInterface<VideoFrame>* source() override { return &source_; }
|
|
|
|
private:
|
|
FakePeriodicVideoSource source_;
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // PC_TEST_FAKE_PERIODIC_VIDEO_TRACK_SOURCE_H_
|