OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <algorithm> // max | 10 #include <algorithm> // max |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 void PerformTest() override { | 156 void PerformTest() override { |
157 EXPECT_EQ(kEventSignaled, Wait()) | 157 EXPECT_EQ(kEventSignaled, Wait()) |
158 << "Timed out while waiting for single RTP packet."; | 158 << "Timed out while waiting for single RTP packet."; |
159 } | 159 } |
160 } test; | 160 } test; |
161 | 161 |
162 RunBaseTest(&test, FakeNetworkPipe::Config()); | 162 RunBaseTest(&test, FakeNetworkPipe::Config()); |
163 } | 163 } |
164 | 164 |
165 TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) { | 165 TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) { |
166 static const uint8_t kTOffsetExtensionId = 13; | |
167 static const int kEncodeDelayMs = 5; | 166 static const int kEncodeDelayMs = 5; |
168 class TransmissionTimeOffsetObserver : public test::SendTest { | 167 class TransmissionTimeOffsetObserver : public test::SendTest { |
169 public: | 168 public: |
170 TransmissionTimeOffsetObserver() | 169 TransmissionTimeOffsetObserver() |
171 : SendTest(kDefaultTimeoutMs), | 170 : SendTest(kDefaultTimeoutMs), |
172 encoder_(Clock::GetRealTimeClock(), kEncodeDelayMs) { | 171 encoder_(Clock::GetRealTimeClock(), kEncodeDelayMs) { |
173 EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( | 172 EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( |
174 kRtpExtensionTransmissionTimeOffset, kTOffsetExtensionId)); | 173 kRtpExtensionTransmissionTimeOffset, test::kTOffsetExtensionId)); |
175 } | 174 } |
176 | 175 |
177 private: | 176 private: |
178 Action OnSendRtp(const uint8_t* packet, size_t length) override { | 177 Action OnSendRtp(const uint8_t* packet, size_t length) override { |
179 RTPHeader header; | 178 RTPHeader header; |
180 EXPECT_TRUE(parser_->Parse(packet, length, &header)); | 179 EXPECT_TRUE(parser_->Parse(packet, length, &header)); |
181 | 180 |
182 EXPECT_TRUE(header.extension.hasTransmissionTimeOffset); | 181 EXPECT_TRUE(header.extension.hasTransmissionTimeOffset); |
183 EXPECT_FALSE(header.extension.hasAbsoluteSendTime); | 182 EXPECT_FALSE(header.extension.hasAbsoluteSendTime); |
184 EXPECT_GT(header.extension.transmissionTimeOffset, 0); | 183 EXPECT_GT(header.extension.transmissionTimeOffset, 0); |
185 EXPECT_EQ(header.extension.absoluteSendTime, 0u); | 184 EXPECT_EQ(header.extension.absoluteSendTime, 0u); |
186 observation_complete_->Set(); | 185 observation_complete_->Set(); |
187 | 186 |
188 return SEND_PACKET; | 187 return SEND_PACKET; |
189 } | 188 } |
190 | 189 |
191 void ModifyConfigs(VideoSendStream::Config* send_config, | 190 void ModifyConfigs(VideoSendStream::Config* send_config, |
192 std::vector<VideoReceiveStream::Config>* receive_configs, | 191 std::vector<VideoReceiveStream::Config>* receive_configs, |
193 VideoEncoderConfig* encoder_config) override { | 192 VideoEncoderConfig* encoder_config) override { |
194 send_config->encoder_settings.encoder = &encoder_; | 193 send_config->encoder_settings.encoder = &encoder_; |
| 194 send_config->rtp.extensions.clear(); |
195 send_config->rtp.extensions.push_back( | 195 send_config->rtp.extensions.push_back( |
196 RtpExtension(RtpExtension::kTOffset, kTOffsetExtensionId)); | 196 RtpExtension(RtpExtension::kTOffset, test::kTOffsetExtensionId)); |
197 } | 197 } |
198 | 198 |
199 void PerformTest() override { | 199 void PerformTest() override { |
200 EXPECT_EQ(kEventSignaled, Wait()) | 200 EXPECT_EQ(kEventSignaled, Wait()) |
201 << "Timed out while waiting for a single RTP packet."; | 201 << "Timed out while waiting for a single RTP packet."; |
202 } | 202 } |
203 | 203 |
204 test::DelayedEncoder encoder_; | 204 test::DelayedEncoder encoder_; |
205 } test; | 205 } test; |
206 | 206 |
(...skipping 21 matching lines...) Expand all Loading... |
228 | 228 |
229 observation_complete_->Set(); | 229 observation_complete_->Set(); |
230 | 230 |
231 return SEND_PACKET; | 231 return SEND_PACKET; |
232 } | 232 } |
233 | 233 |
234 void ModifyConfigs(VideoSendStream::Config* send_config, | 234 void ModifyConfigs(VideoSendStream::Config* send_config, |
235 std::vector<VideoReceiveStream::Config>* receive_configs, | 235 std::vector<VideoReceiveStream::Config>* receive_configs, |
236 VideoEncoderConfig* encoder_config) override { | 236 VideoEncoderConfig* encoder_config) override { |
237 send_config->encoder_settings.encoder = &encoder_; | 237 send_config->encoder_settings.encoder = &encoder_; |
| 238 send_config->rtp.extensions.clear(); |
238 send_config->rtp.extensions.push_back( | 239 send_config->rtp.extensions.push_back( |
239 RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId)); | 240 RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId)); |
240 } | 241 } |
241 | 242 |
242 void PerformTest() override { | 243 void PerformTest() override { |
243 EXPECT_EQ(kEventSignaled, Wait()) | 244 EXPECT_EQ(kEventSignaled, Wait()) |
244 << "Timed out while waiting for a single RTP packet."; | 245 << "Timed out while waiting for a single RTP packet."; |
245 } | 246 } |
246 | 247 |
247 test::FakeEncoder encoder_; | 248 test::FakeEncoder encoder_; |
(...skipping 1632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1880 EXPECT_TRUE(vp9videoHeader->flexible_mode); | 1881 EXPECT_TRUE(vp9videoHeader->flexible_mode); |
1881 observation_complete_->Set(); | 1882 observation_complete_->Set(); |
1882 } | 1883 } |
1883 | 1884 |
1884 } test; | 1885 } test; |
1885 | 1886 |
1886 RunBaseTest(&test, FakeNetworkPipe::Config()); | 1887 RunBaseTest(&test, FakeNetworkPipe::Config()); |
1887 } | 1888 } |
1888 | 1889 |
1889 } // namespace webrtc | 1890 } // namespace webrtc |
OLD | NEW |