| Index: webrtc/video/end_to_end_tests.cc
|
| diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc
|
| index 99e52794240f475ca131c42e70abdc9288529730..6e721b60ee4c53db1a1660b63d67264acdec93ab 100644
|
| --- a/webrtc/video/end_to_end_tests.cc
|
| +++ b/webrtc/video/end_to_end_tests.cc
|
| @@ -2229,6 +2229,45 @@ TEST_F(EndToEndTest, RembWithSendSideBwe) {
|
| RunBaseTest(&test);
|
| }
|
|
|
| +TEST_F(EndToEndTest, StopSendingKeyframeRequestsForInactiveStream) {
|
| + class KeyframeRequestObserver : public test::EndToEndTest {
|
| + public:
|
| + KeyframeRequestObserver() : clock_(Clock::GetRealTimeClock()) {}
|
| +
|
| + void OnVideoStreamsCreated(
|
| + VideoSendStream* send_stream,
|
| + const std::vector<VideoReceiveStream*>& receive_streams) override {
|
| + RTC_DCHECK_EQ(1, receive_streams.size());
|
| + send_stream_ = send_stream;
|
| + receive_stream_ = receive_streams[0];
|
| + }
|
| +
|
| + void PerformTest() override {
|
| + bool frame_decoded = false;
|
| + int64_t start_time = clock_->TimeInMilliseconds();
|
| + while (clock_->TimeInMilliseconds() - start_time <= 5000) {
|
| + if (receive_stream_->GetStats().frames_decoded > 0) {
|
| + frame_decoded = true;
|
| + break;
|
| + }
|
| + SleepMs(100);
|
| + }
|
| + ASSERT_TRUE(frame_decoded);
|
| + send_stream_->Stop();
|
| + SleepMs(10000);
|
| + ASSERT_EQ(
|
| + 1U, receive_stream_->GetStats().rtcp_packet_type_counts.pli_packets);
|
| + }
|
| +
|
| + private:
|
| + Clock* clock_;
|
| + VideoSendStream* send_stream_;
|
| + VideoReceiveStream* receive_stream_;
|
| + } test;
|
| +
|
| + RunBaseTest(&test);
|
| +}
|
| +
|
| class ProbingTest : public test::EndToEndTest {
|
| public:
|
| explicit ProbingTest(int start_bitrate_bps)
|
|
|