| 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 "media/cast/logging/receiver_time_offset_estimator_impl.h" | 5 #include "media/cast/logging/receiver_time_offset_estimator_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 |
| 9 #include <memory> |
| 8 #include <utility> | 10 #include <utility> |
| 9 | 11 |
| 10 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
| 11 #include "base/memory/scoped_ptr.h" | |
| 12 #include "base/test/simple_test_tick_clock.h" | 13 #include "base/test/simple_test_tick_clock.h" |
| 13 #include "base/time/tick_clock.h" | 14 #include "base/time/tick_clock.h" |
| 14 #include "media/base/fake_single_thread_task_runner.h" | 15 #include "media/base/fake_single_thread_task_runner.h" |
| 15 #include "media/cast/cast_environment.h" | 16 #include "media/cast/cast_environment.h" |
| 16 #include "media/cast/logging/logging_defines.h" | 17 #include "media/cast/logging/logging_defines.h" |
| 17 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
| 18 | 19 |
| 19 namespace media { | 20 namespace media { |
| 20 namespace cast { | 21 namespace cast { |
| 21 | 22 |
| 22 class ReceiverTimeOffsetEstimatorImplTest : public ::testing::Test { | 23 class ReceiverTimeOffsetEstimatorImplTest : public ::testing::Test { |
| 23 protected: | 24 protected: |
| 24 ReceiverTimeOffsetEstimatorImplTest() | 25 ReceiverTimeOffsetEstimatorImplTest() |
| 25 : sender_clock_(new base::SimpleTestTickClock()), | 26 : sender_clock_(new base::SimpleTestTickClock()), |
| 26 task_runner_(new FakeSingleThreadTaskRunner(sender_clock_)), | 27 task_runner_(new FakeSingleThreadTaskRunner(sender_clock_)), |
| 27 cast_environment_( | 28 cast_environment_( |
| 28 new CastEnvironment(scoped_ptr<base::TickClock>(sender_clock_), | 29 new CastEnvironment(std::unique_ptr<base::TickClock>(sender_clock_), |
| 29 task_runner_, | 30 task_runner_, |
| 30 task_runner_, | 31 task_runner_, |
| 31 task_runner_)) { | 32 task_runner_)) { |
| 32 cast_environment_->logger()->Subscribe(&estimator_); | 33 cast_environment_->logger()->Subscribe(&estimator_); |
| 33 } | 34 } |
| 34 | 35 |
| 35 ~ReceiverTimeOffsetEstimatorImplTest() override { | 36 ~ReceiverTimeOffsetEstimatorImplTest() override { |
| 36 cast_environment_->logger()->Unsubscribe(&estimator_); | 37 cast_environment_->logger()->Unsubscribe(&estimator_); |
| 37 } | 38 } |
| 38 | 39 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 60 base::TimeDelta lower_bound; | 61 base::TimeDelta lower_bound; |
| 61 base::TimeDelta upper_bound; | 62 base::TimeDelta upper_bound; |
| 62 | 63 |
| 63 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 64 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 64 | 65 |
| 65 const RtpTimeTicks rtp_timestamp; | 66 const RtpTimeTicks rtp_timestamp; |
| 66 uint32_t frame_id = 0; | 67 uint32_t frame_id = 0; |
| 67 | 68 |
| 68 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); | 69 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); |
| 69 | 70 |
| 70 scoped_ptr<FrameEvent> encode_event(new FrameEvent()); | 71 std::unique_ptr<FrameEvent> encode_event(new FrameEvent()); |
| 71 encode_event->timestamp = sender_clock_->NowTicks(); | 72 encode_event->timestamp = sender_clock_->NowTicks(); |
| 72 encode_event->type = FRAME_ENCODED; | 73 encode_event->type = FRAME_ENCODED; |
| 73 encode_event->media_type = VIDEO_EVENT; | 74 encode_event->media_type = VIDEO_EVENT; |
| 74 encode_event->rtp_timestamp = rtp_timestamp; | 75 encode_event->rtp_timestamp = rtp_timestamp; |
| 75 encode_event->frame_id = frame_id; | 76 encode_event->frame_id = frame_id; |
| 76 encode_event->size = 1234; | 77 encode_event->size = 1234; |
| 77 encode_event->key_frame = true; | 78 encode_event->key_frame = true; |
| 78 encode_event->target_bitrate = 5678; | 79 encode_event->target_bitrate = 5678; |
| 79 encode_event->encoder_cpu_utilization = 9.10; | 80 encode_event->encoder_cpu_utilization = 9.10; |
| 80 encode_event->idealized_bitrate_utilization = 11.12; | 81 encode_event->idealized_bitrate_utilization = 11.12; |
| 81 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); | 82 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); |
| 82 | 83 |
| 83 scoped_ptr<PacketEvent> send_event(new PacketEvent()); | 84 std::unique_ptr<PacketEvent> send_event(new PacketEvent()); |
| 84 send_event->timestamp = sender_clock_->NowTicks(); | 85 send_event->timestamp = sender_clock_->NowTicks(); |
| 85 send_event->type = PACKET_SENT_TO_NETWORK; | 86 send_event->type = PACKET_SENT_TO_NETWORK; |
| 86 send_event->media_type = VIDEO_EVENT; | 87 send_event->media_type = VIDEO_EVENT; |
| 87 send_event->rtp_timestamp = rtp_timestamp; | 88 send_event->rtp_timestamp = rtp_timestamp; |
| 88 send_event->frame_id = frame_id; | 89 send_event->frame_id = frame_id; |
| 89 send_event->packet_id = 56; | 90 send_event->packet_id = 56; |
| 90 send_event->max_packet_id = 78; | 91 send_event->max_packet_id = 78; |
| 91 send_event->size = 1500; | 92 send_event->size = 1500; |
| 92 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); | 93 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); |
| 93 | 94 |
| 94 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 95 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 95 | 96 |
| 96 AdvanceClocks(base::TimeDelta::FromMilliseconds(10)); | 97 AdvanceClocks(base::TimeDelta::FromMilliseconds(10)); |
| 97 scoped_ptr<FrameEvent> ack_sent_event(new FrameEvent()); | 98 std::unique_ptr<FrameEvent> ack_sent_event(new FrameEvent()); |
| 98 ack_sent_event->timestamp = receiver_clock_.NowTicks(); | 99 ack_sent_event->timestamp = receiver_clock_.NowTicks(); |
| 99 ack_sent_event->type = FRAME_ACK_SENT; | 100 ack_sent_event->type = FRAME_ACK_SENT; |
| 100 ack_sent_event->media_type = VIDEO_EVENT; | 101 ack_sent_event->media_type = VIDEO_EVENT; |
| 101 ack_sent_event->rtp_timestamp = rtp_timestamp; | 102 ack_sent_event->rtp_timestamp = rtp_timestamp; |
| 102 ack_sent_event->frame_id = frame_id; | 103 ack_sent_event->frame_id = frame_id; |
| 103 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); | 104 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); |
| 104 | 105 |
| 105 scoped_ptr<PacketEvent> receive_event(new PacketEvent()); | 106 std::unique_ptr<PacketEvent> receive_event(new PacketEvent()); |
| 106 receive_event->timestamp = receiver_clock_.NowTicks(); | 107 receive_event->timestamp = receiver_clock_.NowTicks(); |
| 107 receive_event->type = PACKET_RECEIVED; | 108 receive_event->type = PACKET_RECEIVED; |
| 108 receive_event->media_type = VIDEO_EVENT; | 109 receive_event->media_type = VIDEO_EVENT; |
| 109 receive_event->rtp_timestamp = rtp_timestamp; | 110 receive_event->rtp_timestamp = rtp_timestamp; |
| 110 receive_event->frame_id = frame_id; | 111 receive_event->frame_id = frame_id; |
| 111 receive_event->packet_id = 56; | 112 receive_event->packet_id = 56; |
| 112 receive_event->max_packet_id = 78; | 113 receive_event->max_packet_id = 78; |
| 113 receive_event->size = 1500; | 114 receive_event->size = 1500; |
| 114 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); | 115 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); |
| 115 | 116 |
| 116 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 117 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 117 | 118 |
| 118 AdvanceClocks(base::TimeDelta::FromMilliseconds(30)); | 119 AdvanceClocks(base::TimeDelta::FromMilliseconds(30)); |
| 119 scoped_ptr<FrameEvent> ack_event(new FrameEvent()); | 120 std::unique_ptr<FrameEvent> ack_event(new FrameEvent()); |
| 120 ack_event->timestamp = sender_clock_->NowTicks(); | 121 ack_event->timestamp = sender_clock_->NowTicks(); |
| 121 ack_event->type = FRAME_ACK_RECEIVED; | 122 ack_event->type = FRAME_ACK_RECEIVED; |
| 122 ack_event->media_type = VIDEO_EVENT; | 123 ack_event->media_type = VIDEO_EVENT; |
| 123 ack_event->rtp_timestamp = rtp_timestamp; | 124 ack_event->rtp_timestamp = rtp_timestamp; |
| 124 ack_event->frame_id = frame_id; | 125 ack_event->frame_id = frame_id; |
| 125 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); | 126 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); |
| 126 | 127 |
| 127 EXPECT_TRUE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 128 EXPECT_TRUE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 128 | 129 |
| 129 int64_t lower_bound_ms = lower_bound.InMilliseconds(); | 130 int64_t lower_bound_ms = lower_bound.InMilliseconds(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 143 base::TimeDelta lower_bound; | 144 base::TimeDelta lower_bound; |
| 144 base::TimeDelta upper_bound; | 145 base::TimeDelta upper_bound; |
| 145 | 146 |
| 146 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 147 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 147 | 148 |
| 148 const RtpTimeTicks rtp_timestamp; | 149 const RtpTimeTicks rtp_timestamp; |
| 149 uint32_t frame_id = 0; | 150 uint32_t frame_id = 0; |
| 150 | 151 |
| 151 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); | 152 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); |
| 152 | 153 |
| 153 scoped_ptr<FrameEvent> encode_event(new FrameEvent()); | 154 std::unique_ptr<FrameEvent> encode_event(new FrameEvent()); |
| 154 encode_event->timestamp = sender_clock_->NowTicks(); | 155 encode_event->timestamp = sender_clock_->NowTicks(); |
| 155 encode_event->type = FRAME_ENCODED; | 156 encode_event->type = FRAME_ENCODED; |
| 156 encode_event->media_type = VIDEO_EVENT; | 157 encode_event->media_type = VIDEO_EVENT; |
| 157 encode_event->rtp_timestamp = rtp_timestamp; | 158 encode_event->rtp_timestamp = rtp_timestamp; |
| 158 encode_event->frame_id = frame_id; | 159 encode_event->frame_id = frame_id; |
| 159 encode_event->size = 1234; | 160 encode_event->size = 1234; |
| 160 encode_event->key_frame = true; | 161 encode_event->key_frame = true; |
| 161 encode_event->target_bitrate = 5678; | 162 encode_event->target_bitrate = 5678; |
| 162 encode_event->encoder_cpu_utilization = 9.10; | 163 encode_event->encoder_cpu_utilization = 9.10; |
| 163 encode_event->idealized_bitrate_utilization = 11.12; | 164 encode_event->idealized_bitrate_utilization = 11.12; |
| 164 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); | 165 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); |
| 165 | 166 |
| 166 scoped_ptr<PacketEvent> send_event(new PacketEvent()); | 167 std::unique_ptr<PacketEvent> send_event(new PacketEvent()); |
| 167 send_event->timestamp = sender_clock_->NowTicks(); | 168 send_event->timestamp = sender_clock_->NowTicks(); |
| 168 send_event->type = PACKET_SENT_TO_NETWORK; | 169 send_event->type = PACKET_SENT_TO_NETWORK; |
| 169 send_event->media_type = VIDEO_EVENT; | 170 send_event->media_type = VIDEO_EVENT; |
| 170 send_event->rtp_timestamp = rtp_timestamp; | 171 send_event->rtp_timestamp = rtp_timestamp; |
| 171 send_event->frame_id = frame_id; | 172 send_event->frame_id = frame_id; |
| 172 send_event->packet_id = 56; | 173 send_event->packet_id = 56; |
| 173 send_event->max_packet_id = 78; | 174 send_event->max_packet_id = 78; |
| 174 send_event->size = 1500; | 175 send_event->size = 1500; |
| 175 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); | 176 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); |
| 176 | 177 |
| 177 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 178 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 178 | 179 |
| 179 AdvanceClocks(base::TimeDelta::FromMilliseconds(10)); | 180 AdvanceClocks(base::TimeDelta::FromMilliseconds(10)); |
| 180 base::TimeTicks event_b_time = receiver_clock_.NowTicks(); | 181 base::TimeTicks event_b_time = receiver_clock_.NowTicks(); |
| 181 AdvanceClocks(base::TimeDelta::FromMilliseconds(30)); | 182 AdvanceClocks(base::TimeDelta::FromMilliseconds(30)); |
| 182 base::TimeTicks event_c_time = sender_clock_->NowTicks(); | 183 base::TimeTicks event_c_time = sender_clock_->NowTicks(); |
| 183 | 184 |
| 184 scoped_ptr<FrameEvent> ack_event(new FrameEvent()); | 185 std::unique_ptr<FrameEvent> ack_event(new FrameEvent()); |
| 185 ack_event->timestamp = event_c_time; | 186 ack_event->timestamp = event_c_time; |
| 186 ack_event->type = FRAME_ACK_RECEIVED; | 187 ack_event->type = FRAME_ACK_RECEIVED; |
| 187 ack_event->media_type = VIDEO_EVENT; | 188 ack_event->media_type = VIDEO_EVENT; |
| 188 ack_event->rtp_timestamp = rtp_timestamp; | 189 ack_event->rtp_timestamp = rtp_timestamp; |
| 189 ack_event->frame_id = frame_id; | 190 ack_event->frame_id = frame_id; |
| 190 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); | 191 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); |
| 191 | 192 |
| 192 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 193 EXPECT_FALSE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 193 | 194 |
| 194 scoped_ptr<PacketEvent> receive_event(new PacketEvent()); | 195 std::unique_ptr<PacketEvent> receive_event(new PacketEvent()); |
| 195 receive_event->timestamp = event_b_time; | 196 receive_event->timestamp = event_b_time; |
| 196 receive_event->type = PACKET_RECEIVED; | 197 receive_event->type = PACKET_RECEIVED; |
| 197 receive_event->media_type = VIDEO_EVENT; | 198 receive_event->media_type = VIDEO_EVENT; |
| 198 receive_event->rtp_timestamp = rtp_timestamp; | 199 receive_event->rtp_timestamp = rtp_timestamp; |
| 199 receive_event->frame_id = frame_id; | 200 receive_event->frame_id = frame_id; |
| 200 receive_event->packet_id = 56; | 201 receive_event->packet_id = 56; |
| 201 receive_event->max_packet_id = 78; | 202 receive_event->max_packet_id = 78; |
| 202 receive_event->size = 1500; | 203 receive_event->size = 1500; |
| 203 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); | 204 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); |
| 204 | 205 |
| 205 scoped_ptr<FrameEvent> ack_sent_event(new FrameEvent()); | 206 std::unique_ptr<FrameEvent> ack_sent_event(new FrameEvent()); |
| 206 ack_sent_event->timestamp = event_b_time; | 207 ack_sent_event->timestamp = event_b_time; |
| 207 ack_sent_event->type = FRAME_ACK_SENT; | 208 ack_sent_event->type = FRAME_ACK_SENT; |
| 208 ack_sent_event->media_type = VIDEO_EVENT; | 209 ack_sent_event->media_type = VIDEO_EVENT; |
| 209 ack_sent_event->rtp_timestamp = rtp_timestamp; | 210 ack_sent_event->rtp_timestamp = rtp_timestamp; |
| 210 ack_sent_event->frame_id = frame_id; | 211 ack_sent_event->frame_id = frame_id; |
| 211 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); | 212 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); |
| 212 | 213 |
| 213 EXPECT_TRUE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); | 214 EXPECT_TRUE(estimator_.GetReceiverOffsetBounds(&lower_bound, &upper_bound)); |
| 214 | 215 |
| 215 int64_t lower_bound_ms = lower_bound.InMilliseconds(); | 216 int64_t lower_bound_ms = lower_bound.InMilliseconds(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 235 const RtpTimeTicks rtp_timestamp_c = | 236 const RtpTimeTicks rtp_timestamp_c = |
| 236 rtp_timestamp_b + RtpTimeDelta::FromTicks(90); | 237 rtp_timestamp_b + RtpTimeDelta::FromTicks(90); |
| 237 int frame_id_c = 2; | 238 int frame_id_c = 2; |
| 238 | 239 |
| 239 // Frame 1 times: [20, 30+100, 60] | 240 // Frame 1 times: [20, 30+100, 60] |
| 240 // Frame 2 times: [30, 50+100, 55] | 241 // Frame 2 times: [30, 50+100, 55] |
| 241 // Frame 3 times: [77, 80+100, 110] | 242 // Frame 3 times: [77, 80+100, 110] |
| 242 // Bound should end up at [95, 103] | 243 // Bound should end up at [95, 103] |
| 243 // Events times in chronological order: 20, 30 x2, 50, 55, 60, 77, 80, 110 | 244 // Events times in chronological order: 20, 30 x2, 50, 55, 60, 77, 80, 110 |
| 244 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); | 245 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); |
| 245 scoped_ptr<FrameEvent> encode_event(new FrameEvent()); | 246 std::unique_ptr<FrameEvent> encode_event(new FrameEvent()); |
| 246 encode_event->timestamp = sender_clock_->NowTicks(); | 247 encode_event->timestamp = sender_clock_->NowTicks(); |
| 247 encode_event->type = FRAME_ENCODED; | 248 encode_event->type = FRAME_ENCODED; |
| 248 encode_event->media_type = VIDEO_EVENT; | 249 encode_event->media_type = VIDEO_EVENT; |
| 249 encode_event->rtp_timestamp = rtp_timestamp_a; | 250 encode_event->rtp_timestamp = rtp_timestamp_a; |
| 250 encode_event->frame_id = frame_id_a; | 251 encode_event->frame_id = frame_id_a; |
| 251 encode_event->size = 1234; | 252 encode_event->size = 1234; |
| 252 encode_event->key_frame = true; | 253 encode_event->key_frame = true; |
| 253 encode_event->target_bitrate = 5678; | 254 encode_event->target_bitrate = 5678; |
| 254 encode_event->encoder_cpu_utilization = 9.10; | 255 encode_event->encoder_cpu_utilization = 9.10; |
| 255 encode_event->idealized_bitrate_utilization = 11.12; | 256 encode_event->idealized_bitrate_utilization = 11.12; |
| 256 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); | 257 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); |
| 257 | 258 |
| 258 scoped_ptr<PacketEvent> send_event(new PacketEvent()); | 259 std::unique_ptr<PacketEvent> send_event(new PacketEvent()); |
| 259 send_event->timestamp = sender_clock_->NowTicks(); | 260 send_event->timestamp = sender_clock_->NowTicks(); |
| 260 send_event->type = PACKET_SENT_TO_NETWORK; | 261 send_event->type = PACKET_SENT_TO_NETWORK; |
| 261 send_event->media_type = VIDEO_EVENT; | 262 send_event->media_type = VIDEO_EVENT; |
| 262 send_event->rtp_timestamp = rtp_timestamp_a; | 263 send_event->rtp_timestamp = rtp_timestamp_a; |
| 263 send_event->frame_id = frame_id_a; | 264 send_event->frame_id = frame_id_a; |
| 264 send_event->packet_id = 56; | 265 send_event->packet_id = 56; |
| 265 send_event->max_packet_id = 78; | 266 send_event->max_packet_id = 78; |
| 266 send_event->size = 1500; | 267 send_event->size = 1500; |
| 267 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); | 268 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); |
| 268 | 269 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 284 send_event->timestamp = sender_clock_->NowTicks(); | 285 send_event->timestamp = sender_clock_->NowTicks(); |
| 285 send_event->type = PACKET_SENT_TO_NETWORK; | 286 send_event->type = PACKET_SENT_TO_NETWORK; |
| 286 send_event->media_type = VIDEO_EVENT; | 287 send_event->media_type = VIDEO_EVENT; |
| 287 send_event->rtp_timestamp = rtp_timestamp_b; | 288 send_event->rtp_timestamp = rtp_timestamp_b; |
| 288 send_event->frame_id = frame_id_b; | 289 send_event->frame_id = frame_id_b; |
| 289 send_event->packet_id = 56; | 290 send_event->packet_id = 56; |
| 290 send_event->max_packet_id = 78; | 291 send_event->max_packet_id = 78; |
| 291 send_event->size = 1500; | 292 send_event->size = 1500; |
| 292 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); | 293 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); |
| 293 | 294 |
| 294 scoped_ptr<FrameEvent> ack_sent_event(new FrameEvent()); | 295 std::unique_ptr<FrameEvent> ack_sent_event(new FrameEvent()); |
| 295 ack_sent_event->timestamp = receiver_clock_.NowTicks(); | 296 ack_sent_event->timestamp = receiver_clock_.NowTicks(); |
| 296 ack_sent_event->type = FRAME_ACK_SENT; | 297 ack_sent_event->type = FRAME_ACK_SENT; |
| 297 ack_sent_event->media_type = VIDEO_EVENT; | 298 ack_sent_event->media_type = VIDEO_EVENT; |
| 298 ack_sent_event->rtp_timestamp = rtp_timestamp_a; | 299 ack_sent_event->rtp_timestamp = rtp_timestamp_a; |
| 299 ack_sent_event->frame_id = frame_id_a; | 300 ack_sent_event->frame_id = frame_id_a; |
| 300 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); | 301 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); |
| 301 | 302 |
| 302 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); | 303 AdvanceClocks(base::TimeDelta::FromMilliseconds(20)); |
| 303 | 304 |
| 304 scoped_ptr<PacketEvent> receive_event(new PacketEvent()); | 305 std::unique_ptr<PacketEvent> receive_event(new PacketEvent()); |
| 305 receive_event->timestamp = receiver_clock_.NowTicks(); | 306 receive_event->timestamp = receiver_clock_.NowTicks(); |
| 306 receive_event->type = PACKET_RECEIVED; | 307 receive_event->type = PACKET_RECEIVED; |
| 307 receive_event->media_type = VIDEO_EVENT; | 308 receive_event->media_type = VIDEO_EVENT; |
| 308 receive_event->rtp_timestamp = rtp_timestamp_b; | 309 receive_event->rtp_timestamp = rtp_timestamp_b; |
| 309 receive_event->frame_id = frame_id_b; | 310 receive_event->frame_id = frame_id_b; |
| 310 receive_event->packet_id = 56; | 311 receive_event->packet_id = 56; |
| 311 receive_event->max_packet_id = 78; | 312 receive_event->max_packet_id = 78; |
| 312 receive_event->size = 1500; | 313 receive_event->size = 1500; |
| 313 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); | 314 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); |
| 314 | 315 |
| 315 ack_sent_event.reset(new FrameEvent()); | 316 ack_sent_event.reset(new FrameEvent()); |
| 316 ack_sent_event->timestamp = receiver_clock_.NowTicks(); | 317 ack_sent_event->timestamp = receiver_clock_.NowTicks(); |
| 317 ack_sent_event->type = FRAME_ACK_SENT; | 318 ack_sent_event->type = FRAME_ACK_SENT; |
| 318 ack_sent_event->media_type = VIDEO_EVENT; | 319 ack_sent_event->media_type = VIDEO_EVENT; |
| 319 ack_sent_event->rtp_timestamp = rtp_timestamp_b; | 320 ack_sent_event->rtp_timestamp = rtp_timestamp_b; |
| 320 ack_sent_event->frame_id = frame_id_b; | 321 ack_sent_event->frame_id = frame_id_b; |
| 321 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); | 322 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); |
| 322 | 323 |
| 323 AdvanceClocks(base::TimeDelta::FromMilliseconds(5)); | 324 AdvanceClocks(base::TimeDelta::FromMilliseconds(5)); |
| 324 scoped_ptr<FrameEvent> ack_event(new FrameEvent()); | 325 std::unique_ptr<FrameEvent> ack_event(new FrameEvent()); |
| 325 ack_event->timestamp = sender_clock_->NowTicks(); | 326 ack_event->timestamp = sender_clock_->NowTicks(); |
| 326 ack_event->type = FRAME_ACK_RECEIVED; | 327 ack_event->type = FRAME_ACK_RECEIVED; |
| 327 ack_event->media_type = VIDEO_EVENT; | 328 ack_event->media_type = VIDEO_EVENT; |
| 328 ack_event->rtp_timestamp = rtp_timestamp_b; | 329 ack_event->rtp_timestamp = rtp_timestamp_b; |
| 329 ack_event->frame_id = frame_id_b; | 330 ack_event->frame_id = frame_id_b; |
| 330 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); | 331 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); |
| 331 | 332 |
| 332 AdvanceClocks(base::TimeDelta::FromMilliseconds(5)); | 333 AdvanceClocks(base::TimeDelta::FromMilliseconds(5)); |
| 333 ack_event.reset(new FrameEvent()); | 334 ack_event.reset(new FrameEvent()); |
| 334 ack_event->timestamp = sender_clock_->NowTicks(); | 335 ack_event->timestamp = sender_clock_->NowTicks(); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 int64_t lower_bound_ms = lower_bound.InMilliseconds(); | 397 int64_t lower_bound_ms = lower_bound.InMilliseconds(); |
| 397 int64_t upper_bound_ms = upper_bound.InMilliseconds(); | 398 int64_t upper_bound_ms = upper_bound.InMilliseconds(); |
| 398 EXPECT_GT(lower_bound_ms, 90); | 399 EXPECT_GT(lower_bound_ms, 90); |
| 399 EXPECT_LE(lower_bound_ms, true_offset_ms); | 400 EXPECT_LE(lower_bound_ms, true_offset_ms); |
| 400 EXPECT_LT(upper_bound_ms, 150); | 401 EXPECT_LT(upper_bound_ms, 150); |
| 401 EXPECT_GT(upper_bound_ms, true_offset_ms); | 402 EXPECT_GT(upper_bound_ms, true_offset_ms); |
| 402 } | 403 } |
| 403 | 404 |
| 404 } // namespace cast | 405 } // namespace cast |
| 405 } // namespace media | 406 } // namespace media |
| OLD | NEW |