| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 
| 3  * | 3  * | 
| 4  *  Use of this source code is governed by a BSD-style license | 4  *  Use of this source code is governed by a BSD-style license | 
| 5  *  that can be found in the LICENSE file in the root of the source | 5  *  that can be found in the LICENSE file in the root of the source | 
| 6  *  tree. An additional intellectual property rights grant can be found | 6  *  tree. An additional intellectual property rights grant can be found | 
| 7  *  in the file PATENTS.  All contributing project authors may | 7  *  in the file PATENTS.  All contributing project authors may | 
| 8  *  be found in the AUTHORS file in the root of the source tree. | 8  *  be found in the AUTHORS file in the root of the source tree. | 
| 9  */ | 9  */ | 
| 10 | 10 | 
| 11 #include "webrtc/video/encoder_state_feedback.h" | 11 #include "webrtc/video/encoder_state_feedback.h" | 
| 12 | 12 | 
| 13 #include "testing/gmock/include/gmock/gmock.h" | 13 #include "testing/gmock/include/gmock/gmock.h" | 
| 14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" | 
| 15 #include "webrtc/modules/utility/include/mock/mock_process_thread.h" | 15 #include "webrtc/modules/utility/include/mock/mock_process_thread.h" | 
| 16 #include "webrtc/video/vie_encoder.h" | 16 #include "webrtc/video/vie_encoder.h" | 
| 17 | 17 | 
| 18 using ::testing::NiceMock; | 18 using ::testing::NiceMock; | 
| 19 | 19 | 
| 20 namespace webrtc { | 20 namespace webrtc { | 
| 21 | 21 | 
| 22 class MockVieEncoder : public ViEEncoder { | 22 class MockVieEncoder : public ViEEncoder { | 
| 23  public: | 23  public: | 
| 24   MockVieEncoder() | 24   explicit MockVieEncoder(ProcessThread* process_thread) | 
| 25       : ViEEncoder(1, | 25       : ViEEncoder(1, process_thread, nullptr, nullptr, nullptr) {} | 
| 26                    nullptr, | 26   ~MockVieEncoder() {} | 
| 27                    VideoSendStream::Config::EncoderSettings("fake", 0, nullptr), |  | 
| 28                    nullptr, |  | 
| 29                    nullptr, |  | 
| 30                    nullptr) {} |  | 
| 31   ~MockVieEncoder() { Stop(); } |  | 
| 32 | 27 | 
| 33   MOCK_METHOD1(OnReceivedIntraFrameRequest, void(size_t)); | 28   MOCK_METHOD1(OnReceivedIntraFrameRequest, void(size_t)); | 
| 34   MOCK_METHOD1(OnReceivedSLI, void(uint8_t picture_id)); | 29   MOCK_METHOD1(OnReceivedSLI, void(uint8_t picture_id)); | 
| 35   MOCK_METHOD1(OnReceivedRPSI, void(uint64_t picture_id)); | 30   MOCK_METHOD1(OnReceivedRPSI, void(uint64_t picture_id)); | 
| 36 }; | 31 }; | 
| 37 | 32 | 
| 38 class VieKeyRequestTest : public ::testing::Test { | 33 class VieKeyRequestTest : public ::testing::Test { | 
| 39  public: | 34  public: | 
| 40   VieKeyRequestTest() | 35   VieKeyRequestTest() | 
| 41       : simulated_clock_(123456789), | 36       : encoder_(&process_thread_), | 
|  | 37         simulated_clock_(123456789), | 
| 42         encoder_state_feedback_( | 38         encoder_state_feedback_( | 
| 43             &simulated_clock_, | 39             &simulated_clock_, | 
| 44             std::vector<uint32_t>(1, VieKeyRequestTest::kSsrc), | 40             std::vector<uint32_t>(1, VieKeyRequestTest::kSsrc), | 
| 45             &encoder_) {} | 41             &encoder_) {} | 
| 46 | 42 | 
| 47  protected: | 43  protected: | 
| 48   const uint32_t kSsrc = 1234; | 44   const uint32_t kSsrc = 1234; | 
|  | 45   NiceMock<MockProcessThread> process_thread_; | 
| 49   MockVieEncoder encoder_; | 46   MockVieEncoder encoder_; | 
| 50   SimulatedClock simulated_clock_; | 47   SimulatedClock simulated_clock_; | 
| 51   EncoderStateFeedback encoder_state_feedback_; | 48   EncoderStateFeedback encoder_state_feedback_; | 
| 52 }; | 49 }; | 
| 53 | 50 | 
| 54 TEST_F(VieKeyRequestTest, CreateAndTriggerRequests) { | 51 TEST_F(VieKeyRequestTest, CreateAndTriggerRequests) { | 
| 55   EXPECT_CALL(encoder_, OnReceivedIntraFrameRequest(0)).Times(1); | 52   EXPECT_CALL(encoder_, OnReceivedIntraFrameRequest(0)).Times(1); | 
| 56   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 53   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 
| 57 | 54 | 
| 58   const uint8_t sli_picture_id = 3; | 55   const uint8_t sli_picture_id = 3; | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 72   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 69   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 
| 73 | 70 | 
| 74   EXPECT_CALL(encoder_, OnReceivedIntraFrameRequest(0)).Times(1); | 71   EXPECT_CALL(encoder_, OnReceivedIntraFrameRequest(0)).Times(1); | 
| 75   simulated_clock_.AdvanceTimeMilliseconds(300); | 72   simulated_clock_.AdvanceTimeMilliseconds(300); | 
| 76   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 73   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 
| 77   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 74   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 
| 78   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 75   encoder_state_feedback_.OnReceivedIntraFrameRequest(kSsrc); | 
| 79 } | 76 } | 
| 80 | 77 | 
| 81 }  // namespace webrtc | 78 }  // namespace webrtc | 
| OLD | NEW | 
|---|