OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2017 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2017 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 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 } // namespace | 119 } // namespace |
120 | 120 |
121 class RtpVideoStreamReceiverTest : public testing::Test { | 121 class RtpVideoStreamReceiverTest : public testing::Test { |
122 public: | 122 public: |
123 RtpVideoStreamReceiverTest() | 123 RtpVideoStreamReceiverTest() |
124 : config_(CreateConfig()), | 124 : config_(CreateConfig()), |
125 timing_(Clock::GetRealTimeClock()), | 125 timing_(Clock::GetRealTimeClock()), |
126 process_thread_(ProcessThread::Create("TestThread")) {} | 126 process_thread_(ProcessThread::Create("TestThread")) {} |
127 | 127 |
128 void SetUp() { | 128 void SetUp() { |
129 rtp_video_stream_receiver_.reset(new RtpVideoStreamReceiver( | 129 rtp_receive_statistics_ = |
| 130 rtc::WrapUnique(ReceiveStatistics::Create(Clock::GetRealTimeClock())); |
| 131 rtp_video_stream_receiver_ = rtc::MakeUnique<RtpVideoStreamReceiver>( |
130 &mock_transport_, nullptr, &packet_router_, &config_, | 132 &mock_transport_, nullptr, &packet_router_, &config_, |
131 nullptr, process_thread_.get(), &mock_nack_sender_, | 133 rtp_receive_statistics_.get(), nullptr, process_thread_.get(), |
| 134 &mock_nack_sender_, |
132 &mock_key_frame_request_sender_, &mock_on_complete_frame_callback_, | 135 &mock_key_frame_request_sender_, &mock_on_complete_frame_callback_, |
133 &timing_)); | 136 &timing_); |
134 } | 137 } |
135 | 138 |
136 WebRtcRTPHeader GetDefaultPacket() { | 139 WebRtcRTPHeader GetDefaultPacket() { |
137 WebRtcRTPHeader packet; | 140 WebRtcRTPHeader packet; |
138 memset(&packet, 0, sizeof(packet)); | 141 memset(&packet, 0, sizeof(packet)); |
139 packet.type.Video.codec = kRtpVideoH264; | 142 packet.type.Video.codec = kRtpVideoH264; |
140 return packet; | 143 return packet; |
141 } | 144 } |
142 | 145 |
143 // TODO(Johan): refactor h264_sps_pps_tracker_unittests.cc to avoid duplicate | 146 // TODO(Johan): refactor h264_sps_pps_tracker_unittests.cc to avoid duplicate |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 webrtc::test::ScopedFieldTrials override_field_trials_{ | 192 webrtc::test::ScopedFieldTrials override_field_trials_{ |
190 kNewJitterBufferFieldTrialEnabled}; | 193 kNewJitterBufferFieldTrialEnabled}; |
191 VideoReceiveStream::Config config_; | 194 VideoReceiveStream::Config config_; |
192 MockNackSender mock_nack_sender_; | 195 MockNackSender mock_nack_sender_; |
193 MockKeyFrameRequestSender mock_key_frame_request_sender_; | 196 MockKeyFrameRequestSender mock_key_frame_request_sender_; |
194 MockTransport mock_transport_; | 197 MockTransport mock_transport_; |
195 MockOnCompleteFrameCallback mock_on_complete_frame_callback_; | 198 MockOnCompleteFrameCallback mock_on_complete_frame_callback_; |
196 PacketRouter packet_router_; | 199 PacketRouter packet_router_; |
197 VCMTiming timing_; | 200 VCMTiming timing_; |
198 std::unique_ptr<ProcessThread> process_thread_; | 201 std::unique_ptr<ProcessThread> process_thread_; |
| 202 std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_; |
199 std::unique_ptr<RtpVideoStreamReceiver> rtp_video_stream_receiver_; | 203 std::unique_ptr<RtpVideoStreamReceiver> rtp_video_stream_receiver_; |
200 }; | 204 }; |
201 | 205 |
202 TEST_F(RtpVideoStreamReceiverTest, GenericKeyFrame) { | 206 TEST_F(RtpVideoStreamReceiverTest, GenericKeyFrame) { |
203 WebRtcRTPHeader rtp_header; | 207 WebRtcRTPHeader rtp_header; |
204 const std::vector<uint8_t> data({1, 2, 3, 4}); | 208 const std::vector<uint8_t> data({1, 2, 3, 4}); |
205 memset(&rtp_header, 0, sizeof(rtp_header)); | 209 memset(&rtp_header, 0, sizeof(rtp_header)); |
206 rtp_header.header.sequenceNumber = 1; | 210 rtp_header.header.sequenceNumber = 1; |
207 rtp_header.header.markerBit = 1; | 211 rtp_header.header.markerBit = 1; |
208 rtp_header.type.Video.is_first_packet_in_frame = true; | 212 rtp_header.type.Video.is_first_packet_in_frame = true; |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 rtp_video_stream_receiver_->AddSecondarySink(&secondary_sink); | 456 rtp_video_stream_receiver_->AddSecondarySink(&secondary_sink); |
453 EXPECT_DEATH(rtp_video_stream_receiver_->AddSecondarySink(&secondary_sink), | 457 EXPECT_DEATH(rtp_video_stream_receiver_->AddSecondarySink(&secondary_sink), |
454 ""); | 458 ""); |
455 | 459 |
456 // Test tear-down. | 460 // Test tear-down. |
457 rtp_video_stream_receiver_->RemoveSecondarySink(&secondary_sink); | 461 rtp_video_stream_receiver_->RemoveSecondarySink(&secondary_sink); |
458 } | 462 } |
459 #endif | 463 #endif |
460 | 464 |
461 } // namespace webrtc | 465 } // namespace webrtc |
OLD | NEW |