| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/test/simple_test_tick_clock.h" | 10 #include "base/test/simple_test_tick_clock.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 }; | 71 }; |
| 72 | 72 |
| 73 TEST_F(RtcpBuilderTest, RtcpReceiverReport) { | 73 TEST_F(RtcpBuilderTest, RtcpReceiverReport) { |
| 74 // Receiver report with report block. | 74 // Receiver report with report block. |
| 75 TestRtcpPacketBuilder p2; | 75 TestRtcpPacketBuilder p2; |
| 76 p2.AddRr(kSendingSsrc, 1); | 76 p2.AddRr(kSendingSsrc, 1); |
| 77 p2.AddRb(kMediaSsrc); | 77 p2.AddRb(kMediaSsrc); |
| 78 | 78 |
| 79 RtcpReportBlock report_block = GetReportBlock(); | 79 RtcpReportBlock report_block = GetReportBlock(); |
| 80 | 80 |
| 81 ExpectPacketEQ( | 81 ExpectPacketEQ(p2.GetPacket(), |
| 82 p2.GetPacket().Pass(), | 82 rtcp_builder_->BuildRtcpFromReceiver(&report_block, NULL, NULL, |
| 83 rtcp_builder_->BuildRtcpFromReceiver( | 83 NULL, kDefaultDelay)); |
| 84 &report_block, NULL, NULL, NULL, kDefaultDelay)); | |
| 85 } | 84 } |
| 86 | 85 |
| 87 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtr) { | 86 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtr) { |
| 88 // Receiver report with report block. | 87 // Receiver report with report block. |
| 89 TestRtcpPacketBuilder p; | 88 TestRtcpPacketBuilder p; |
| 90 p.AddRr(kSendingSsrc, 1); | 89 p.AddRr(kSendingSsrc, 1); |
| 91 p.AddRb(kMediaSsrc); | 90 p.AddRb(kMediaSsrc); |
| 92 p.AddXrHeader(kSendingSsrc); | 91 p.AddXrHeader(kSendingSsrc); |
| 93 p.AddXrRrtrBlock(); | 92 p.AddXrRrtrBlock(); |
| 94 | 93 |
| 95 RtcpReportBlock report_block = GetReportBlock(); | 94 RtcpReportBlock report_block = GetReportBlock(); |
| 96 | 95 |
| 97 RtcpReceiverReferenceTimeReport rrtr; | 96 RtcpReceiverReferenceTimeReport rrtr; |
| 98 rrtr.ntp_seconds = kNtpHigh; | 97 rrtr.ntp_seconds = kNtpHigh; |
| 99 rrtr.ntp_fraction = kNtpLow; | 98 rrtr.ntp_fraction = kNtpLow; |
| 100 | 99 |
| 101 ExpectPacketEQ(p.GetPacket().Pass(), | 100 ExpectPacketEQ(p.GetPacket(), |
| 102 rtcp_builder_->BuildRtcpFromReceiver( | 101 rtcp_builder_->BuildRtcpFromReceiver( |
| 103 &report_block, | 102 &report_block, &rrtr, NULL, NULL, kDefaultDelay)); |
| 104 &rrtr, | |
| 105 NULL, | |
| 106 NULL, | |
| 107 kDefaultDelay)); | |
| 108 } | 103 } |
| 109 | 104 |
| 110 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithCast) { | 105 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithCast) { |
| 111 // Receiver report with report block. | 106 // Receiver report with report block. |
| 112 TestRtcpPacketBuilder p; | 107 TestRtcpPacketBuilder p; |
| 113 p.AddRr(kSendingSsrc, 1); | 108 p.AddRr(kSendingSsrc, 1); |
| 114 p.AddRb(kMediaSsrc); | 109 p.AddRb(kMediaSsrc); |
| 115 p.AddCast(kSendingSsrc, kMediaSsrc, kDefaultDelay); | 110 p.AddCast(kSendingSsrc, kMediaSsrc, kDefaultDelay); |
| 116 | 111 |
| 117 RtcpReportBlock report_block = GetReportBlock(); | 112 RtcpReportBlock report_block = GetReportBlock(); |
| 118 | 113 |
| 119 RtcpCastMessage cast_message(kMediaSsrc); | 114 RtcpCastMessage cast_message(kMediaSsrc); |
| 120 cast_message.ack_frame_id = kAckFrameId; | 115 cast_message.ack_frame_id = kAckFrameId; |
| 121 PacketIdSet missing_packets; | 116 PacketIdSet missing_packets; |
| 122 cast_message.missing_frames_and_packets[kLostFrameId] = missing_packets; | 117 cast_message.missing_frames_and_packets[kLostFrameId] = missing_packets; |
| 123 | 118 |
| 124 missing_packets.insert(kLostPacketId1); | 119 missing_packets.insert(kLostPacketId1); |
| 125 missing_packets.insert(kLostPacketId2); | 120 missing_packets.insert(kLostPacketId2); |
| 126 missing_packets.insert(kLostPacketId3); | 121 missing_packets.insert(kLostPacketId3); |
| 127 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = | 122 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = |
| 128 missing_packets; | 123 missing_packets; |
| 129 | 124 |
| 130 ExpectPacketEQ(p.GetPacket().Pass(), | 125 ExpectPacketEQ(p.GetPacket(), |
| 131 rtcp_builder_->BuildRtcpFromReceiver( | 126 rtcp_builder_->BuildRtcpFromReceiver( |
| 132 &report_block, | 127 &report_block, NULL, &cast_message, NULL, kDefaultDelay)); |
| 133 NULL, | |
| 134 &cast_message, | |
| 135 NULL, | |
| 136 kDefaultDelay)); | |
| 137 } | 128 } |
| 138 | 129 |
| 139 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtraAndCastMessage) { | 130 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtraAndCastMessage) { |
| 140 TestRtcpPacketBuilder p; | 131 TestRtcpPacketBuilder p; |
| 141 p.AddRr(kSendingSsrc, 1); | 132 p.AddRr(kSendingSsrc, 1); |
| 142 p.AddRb(kMediaSsrc); | 133 p.AddRb(kMediaSsrc); |
| 143 p.AddXrHeader(kSendingSsrc); | 134 p.AddXrHeader(kSendingSsrc); |
| 144 p.AddXrRrtrBlock(); | 135 p.AddXrRrtrBlock(); |
| 145 p.AddCast(kSendingSsrc, kMediaSsrc, kDefaultDelay); | 136 p.AddCast(kSendingSsrc, kMediaSsrc, kDefaultDelay); |
| 146 | 137 |
| 147 RtcpReportBlock report_block = GetReportBlock(); | 138 RtcpReportBlock report_block = GetReportBlock(); |
| 148 | 139 |
| 149 RtcpReceiverReferenceTimeReport rrtr; | 140 RtcpReceiverReferenceTimeReport rrtr; |
| 150 rrtr.ntp_seconds = kNtpHigh; | 141 rrtr.ntp_seconds = kNtpHigh; |
| 151 rrtr.ntp_fraction = kNtpLow; | 142 rrtr.ntp_fraction = kNtpLow; |
| 152 | 143 |
| 153 RtcpCastMessage cast_message(kMediaSsrc); | 144 RtcpCastMessage cast_message(kMediaSsrc); |
| 154 cast_message.ack_frame_id = kAckFrameId; | 145 cast_message.ack_frame_id = kAckFrameId; |
| 155 PacketIdSet missing_packets; | 146 PacketIdSet missing_packets; |
| 156 cast_message.missing_frames_and_packets[kLostFrameId] = missing_packets; | 147 cast_message.missing_frames_and_packets[kLostFrameId] = missing_packets; |
| 157 | 148 |
| 158 missing_packets.insert(kLostPacketId1); | 149 missing_packets.insert(kLostPacketId1); |
| 159 missing_packets.insert(kLostPacketId2); | 150 missing_packets.insert(kLostPacketId2); |
| 160 missing_packets.insert(kLostPacketId3); | 151 missing_packets.insert(kLostPacketId3); |
| 161 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = | 152 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = |
| 162 missing_packets; | 153 missing_packets; |
| 163 | 154 |
| 164 ExpectPacketEQ(p.GetPacket().Pass(), | 155 ExpectPacketEQ(p.GetPacket(), |
| 165 rtcp_builder_->BuildRtcpFromReceiver( | 156 rtcp_builder_->BuildRtcpFromReceiver( |
| 166 &report_block, | 157 &report_block, &rrtr, &cast_message, NULL, kDefaultDelay)); |
| 167 &rrtr, | |
| 168 &cast_message, | |
| 169 NULL, | |
| 170 kDefaultDelay)); | |
| 171 } | 158 } |
| 172 | 159 |
| 173 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) { | 160 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) { |
| 174 static const uint32_t kTimeBaseMs = 12345678; | 161 static const uint32_t kTimeBaseMs = 12345678; |
| 175 static const uint32_t kTimeDelayMs = 10; | 162 static const uint32_t kTimeDelayMs = 10; |
| 176 | 163 |
| 177 TestRtcpPacketBuilder p; | 164 TestRtcpPacketBuilder p; |
| 178 p.AddRr(kSendingSsrc, 1); | 165 p.AddRr(kSendingSsrc, 1); |
| 179 p.AddRb(kMediaSsrc); | 166 p.AddRb(kMediaSsrc); |
| 180 p.AddXrHeader(kSendingSsrc); | 167 p.AddXrHeader(kSendingSsrc); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 194 | 181 |
| 195 missing_packets.insert(kLostPacketId1); | 182 missing_packets.insert(kLostPacketId1); |
| 196 missing_packets.insert(kLostPacketId2); | 183 missing_packets.insert(kLostPacketId2); |
| 197 missing_packets.insert(kLostPacketId3); | 184 missing_packets.insert(kLostPacketId3); |
| 198 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = | 185 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = |
| 199 missing_packets; | 186 missing_packets; |
| 200 | 187 |
| 201 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); | 188 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); |
| 202 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 189 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
| 203 | 190 |
| 204 ExpectPacketEQ(p.GetPacket().Pass(), | 191 ExpectPacketEQ(p.GetPacket(), rtcp_builder_->BuildRtcpFromReceiver( |
| 205 rtcp_builder_->BuildRtcpFromReceiver( | 192 &report_block, &rrtr, &cast_message, |
| 206 &report_block, | 193 &rtcp_events, kDefaultDelay)); |
| 207 &rrtr, | |
| 208 &cast_message, | |
| 209 &rtcp_events, | |
| 210 kDefaultDelay)); | |
| 211 | 194 |
| 212 base::SimpleTestTickClock testing_clock; | 195 base::SimpleTestTickClock testing_clock; |
| 213 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); | 196 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); |
| 214 | 197 |
| 215 p.AddReceiverLog(kSendingSsrc); | 198 p.AddReceiverLog(kSendingSsrc); |
| 216 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); | 199 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); |
| 217 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); | 200 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); |
| 218 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); | 201 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); |
| 219 | 202 |
| 220 FrameEvent frame_event; | 203 FrameEvent frame_event; |
| 221 frame_event.rtp_timestamp = kRtpTimestamp; | 204 frame_event.rtp_timestamp = kRtpTimestamp; |
| 222 frame_event.type = FRAME_ACK_SENT; | 205 frame_event.type = FRAME_ACK_SENT; |
| 223 frame_event.media_type = VIDEO_EVENT; | 206 frame_event.media_type = VIDEO_EVENT; |
| 224 frame_event.timestamp = testing_clock.NowTicks(); | 207 frame_event.timestamp = testing_clock.NowTicks(); |
| 225 event_subscriber.OnReceiveFrameEvent(frame_event); | 208 event_subscriber.OnReceiveFrameEvent(frame_event); |
| 226 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 209 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
| 227 | 210 |
| 228 PacketEvent packet_event; | 211 PacketEvent packet_event; |
| 229 packet_event.rtp_timestamp = kRtpTimestamp; | 212 packet_event.rtp_timestamp = kRtpTimestamp; |
| 230 packet_event.type = PACKET_RECEIVED; | 213 packet_event.type = PACKET_RECEIVED; |
| 231 packet_event.media_type = VIDEO_EVENT; | 214 packet_event.media_type = VIDEO_EVENT; |
| 232 packet_event.timestamp = testing_clock.NowTicks(); | 215 packet_event.timestamp = testing_clock.NowTicks(); |
| 233 packet_event.packet_id = kLostPacketId1; | 216 packet_event.packet_id = kLostPacketId1; |
| 234 event_subscriber.OnReceivePacketEvent(packet_event); | 217 event_subscriber.OnReceivePacketEvent(packet_event); |
| 235 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); | 218 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); |
| 236 EXPECT_EQ(2u, rtcp_events.size()); | 219 EXPECT_EQ(2u, rtcp_events.size()); |
| 237 | 220 |
| 238 ExpectPacketEQ( | 221 ExpectPacketEQ(p.GetPacket(), rtcp_builder_->BuildRtcpFromReceiver( |
| 239 p.GetPacket().Pass(), | 222 &report_block, &rrtr, &cast_message, |
| 240 rtcp_builder_->BuildRtcpFromReceiver( | 223 &rtcp_events, kDefaultDelay)); |
| 241 &report_block, | |
| 242 &rrtr, | |
| 243 &cast_message, | |
| 244 &rtcp_events, | |
| 245 kDefaultDelay)); | |
| 246 } | 224 } |
| 247 | 225 |
| 248 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOversizedFrameLog) { | 226 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOversizedFrameLog) { |
| 249 static const uint32_t kTimeBaseMs = 12345678; | 227 static const uint32_t kTimeBaseMs = 12345678; |
| 250 static const uint32_t kTimeDelayMs = 10; | 228 static const uint32_t kTimeDelayMs = 10; |
| 251 | 229 |
| 252 TestRtcpPacketBuilder p; | 230 TestRtcpPacketBuilder p; |
| 253 p.AddRr(kSendingSsrc, 1); | 231 p.AddRr(kSendingSsrc, 1); |
| 254 p.AddRb(kMediaSsrc); | 232 p.AddRb(kMediaSsrc); |
| 255 | 233 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 282 packet_event.media_type = VIDEO_EVENT; | 260 packet_event.media_type = VIDEO_EVENT; |
| 283 packet_event.timestamp = testing_clock.NowTicks(); | 261 packet_event.timestamp = testing_clock.NowTicks(); |
| 284 packet_event.packet_id = kLostPacketId1; | 262 packet_event.packet_id = kLostPacketId1; |
| 285 event_subscriber.OnReceivePacketEvent(packet_event); | 263 event_subscriber.OnReceivePacketEvent(packet_event); |
| 286 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 264 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
| 287 } | 265 } |
| 288 | 266 |
| 289 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 267 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
| 290 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); | 268 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); |
| 291 | 269 |
| 292 ExpectPacketEQ(p.GetPacket().Pass(), | 270 ExpectPacketEQ(p.GetPacket(), |
| 293 rtcp_builder_->BuildRtcpFromReceiver( | 271 rtcp_builder_->BuildRtcpFromReceiver( |
| 294 &report_block, | 272 &report_block, NULL, NULL, &rtcp_events, kDefaultDelay)); |
| 295 NULL, | |
| 296 NULL, | |
| 297 &rtcp_events, | |
| 298 kDefaultDelay)); | |
| 299 } | 273 } |
| 300 | 274 |
| 301 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithTooManyLogFrames) { | 275 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithTooManyLogFrames) { |
| 302 static const uint32_t kTimeBaseMs = 12345678; | 276 static const uint32_t kTimeBaseMs = 12345678; |
| 303 static const uint32_t kTimeDelayMs = 10; | 277 static const uint32_t kTimeDelayMs = 10; |
| 304 | 278 |
| 305 TestRtcpPacketBuilder p; | 279 TestRtcpPacketBuilder p; |
| 306 p.AddRr(kSendingSsrc, 1); | 280 p.AddRr(kSendingSsrc, 1); |
| 307 p.AddRb(kMediaSsrc); | 281 p.AddRb(kMediaSsrc); |
| 308 | 282 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 328 frame_event.type = FRAME_ACK_SENT; | 302 frame_event.type = FRAME_ACK_SENT; |
| 329 frame_event.media_type = VIDEO_EVENT; | 303 frame_event.media_type = VIDEO_EVENT; |
| 330 frame_event.timestamp = testing_clock.NowTicks(); | 304 frame_event.timestamp = testing_clock.NowTicks(); |
| 331 event_subscriber.OnReceiveFrameEvent(frame_event); | 305 event_subscriber.OnReceiveFrameEvent(frame_event); |
| 332 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); | 306 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); |
| 333 } | 307 } |
| 334 | 308 |
| 335 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 309 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
| 336 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); | 310 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); |
| 337 | 311 |
| 338 ExpectPacketEQ(p.GetPacket().Pass(), | 312 ExpectPacketEQ(p.GetPacket(), |
| 339 rtcp_builder_->BuildRtcpFromReceiver( | 313 rtcp_builder_->BuildRtcpFromReceiver( |
| 340 &report_block, | 314 &report_block, NULL, NULL, &rtcp_events, kDefaultDelay)); |
| 341 NULL, | |
| 342 NULL, | |
| 343 &rtcp_events, | |
| 344 kDefaultDelay)); | |
| 345 } | 315 } |
| 346 | 316 |
| 347 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOldLogFrames) { | 317 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOldLogFrames) { |
| 348 static const uint32_t kTimeBaseMs = 12345678; | 318 static const uint32_t kTimeBaseMs = 12345678; |
| 349 | 319 |
| 350 TestRtcpPacketBuilder p; | 320 TestRtcpPacketBuilder p; |
| 351 p.AddRr(kSendingSsrc, 1); | 321 p.AddRr(kSendingSsrc, 1); |
| 352 p.AddRb(kMediaSsrc); | 322 p.AddRb(kMediaSsrc); |
| 353 | 323 |
| 354 RtcpReportBlock report_block = GetReportBlock(); | 324 RtcpReportBlock report_block = GetReportBlock(); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 375 frame_event.media_type = VIDEO_EVENT; | 345 frame_event.media_type = VIDEO_EVENT; |
| 376 frame_event.timestamp = testing_clock.NowTicks(); | 346 frame_event.timestamp = testing_clock.NowTicks(); |
| 377 event_subscriber.OnReceiveFrameEvent(frame_event); | 347 event_subscriber.OnReceiveFrameEvent(frame_event); |
| 378 testing_clock.Advance( | 348 testing_clock.Advance( |
| 379 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); | 349 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); |
| 380 } | 350 } |
| 381 | 351 |
| 382 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 352 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
| 383 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); | 353 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); |
| 384 | 354 |
| 385 ExpectPacketEQ(p.GetPacket().Pass(), | 355 ExpectPacketEQ(p.GetPacket(), |
| 386 rtcp_builder_->BuildRtcpFromReceiver( | 356 rtcp_builder_->BuildRtcpFromReceiver( |
| 387 &report_block, | 357 &report_block, NULL, NULL, &rtcp_events, kDefaultDelay)); |
| 388 NULL, | |
| 389 NULL, | |
| 390 &rtcp_events, | |
| 391 kDefaultDelay)); | |
| 392 } | 358 } |
| 393 | 359 |
| 394 TEST_F(RtcpBuilderTest, RtcpReceiverReportRedundancy) { | 360 TEST_F(RtcpBuilderTest, RtcpReceiverReportRedundancy) { |
| 395 uint32_t time_base_ms = 12345678; | 361 uint32_t time_base_ms = 12345678; |
| 396 int kTimeBetweenEventsMs = 10; | 362 int kTimeBetweenEventsMs = 10; |
| 397 | 363 |
| 398 RtcpReportBlock report_block = GetReportBlock(); | 364 RtcpReportBlock report_block = GetReportBlock(); |
| 399 | 365 |
| 400 base::SimpleTestTickClock testing_clock; | 366 base::SimpleTestTickClock testing_clock; |
| 401 testing_clock.Advance(base::TimeDelta::FromMilliseconds(time_base_ms)); | 367 testing_clock.Advance(base::TimeDelta::FromMilliseconds(time_base_ms)); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 423 FrameEvent frame_event; | 389 FrameEvent frame_event; |
| 424 frame_event.rtp_timestamp = kRtpTimestamp; | 390 frame_event.rtp_timestamp = kRtpTimestamp; |
| 425 frame_event.type = FRAME_ACK_SENT; | 391 frame_event.type = FRAME_ACK_SENT; |
| 426 frame_event.media_type = VIDEO_EVENT; | 392 frame_event.media_type = VIDEO_EVENT; |
| 427 frame_event.timestamp = testing_clock.NowTicks(); | 393 frame_event.timestamp = testing_clock.NowTicks(); |
| 428 event_subscriber.OnReceiveFrameEvent(frame_event); | 394 event_subscriber.OnReceiveFrameEvent(frame_event); |
| 429 | 395 |
| 430 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 396 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
| 431 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); | 397 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); |
| 432 | 398 |
| 433 ExpectPacketEQ(p.GetPacket().Pass(), | 399 ExpectPacketEQ(p.GetPacket(), |
| 434 rtcp_builder_->BuildRtcpFromReceiver( | 400 rtcp_builder_->BuildRtcpFromReceiver( |
| 435 &report_block, | 401 &report_block, NULL, NULL, &rtcp_events, kDefaultDelay)); |
| 436 NULL, | |
| 437 NULL, | |
| 438 &rtcp_events, | |
| 439 kDefaultDelay)); | |
| 440 | 402 |
| 441 testing_clock.Advance( | 403 testing_clock.Advance( |
| 442 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); | 404 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); |
| 443 time_base_ms += kTimeBetweenEventsMs; | 405 time_base_ms += kTimeBetweenEventsMs; |
| 444 } | 406 } |
| 445 } | 407 } |
| 446 | 408 |
| 447 TEST_F(RtcpBuilderTest, RtcpSenderReport) { | 409 TEST_F(RtcpBuilderTest, RtcpSenderReport) { |
| 448 RtcpSenderInfo sender_info; | 410 RtcpSenderInfo sender_info; |
| 449 sender_info.ntp_seconds = kNtpHigh; | 411 sender_info.ntp_seconds = kNtpHigh; |
| 450 sender_info.ntp_fraction = kNtpLow; | 412 sender_info.ntp_fraction = kNtpLow; |
| 451 sender_info.rtp_timestamp = kRtpTimestamp; | 413 sender_info.rtp_timestamp = kRtpTimestamp; |
| 452 sender_info.send_packet_count = kSendPacketCount; | 414 sender_info.send_packet_count = kSendPacketCount; |
| 453 sender_info.send_octet_count = kSendOctetCount; | 415 sender_info.send_octet_count = kSendOctetCount; |
| 454 | 416 |
| 455 // Sender report. | 417 // Sender report. |
| 456 TestRtcpPacketBuilder p; | 418 TestRtcpPacketBuilder p; |
| 457 p.AddSr(kSendingSsrc, 0); | 419 p.AddSr(kSendingSsrc, 0); |
| 458 | 420 |
| 459 ExpectPacketEQ(p.GetPacket().Pass(), | 421 ExpectPacketEQ(p.GetPacket(), |
| 460 rtcp_builder_->BuildRtcpFromSender(sender_info)); | 422 rtcp_builder_->BuildRtcpFromSender(sender_info)); |
| 461 } | 423 } |
| 462 | 424 |
| 463 } // namespace cast | 425 } // namespace cast |
| 464 } // namespace media | 426 } // namespace media |
| OLD | NEW |