Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Side by Side Diff: media/cast/logging/encoding_event_subscriber_unittest.cc

Issue 1905763002: Convert //media/cast from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/encoding_event_subscriber.h" 5 #include "media/cast/logging/encoding_event_subscriber.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 using media::cast::proto::AggregatedFrameEvent; 20 using media::cast::proto::AggregatedFrameEvent;
20 using media::cast::proto::AggregatedPacketEvent; 21 using media::cast::proto::AggregatedPacketEvent;
21 using media::cast::proto::BasePacketEvent; 22 using media::cast::proto::BasePacketEvent;
22 using media::cast::proto::LogMetadata; 23 using media::cast::proto::LogMetadata;
23 24
24 namespace { 25 namespace {
25 26
26 int64_t InMilliseconds(base::TimeTicks event_time) { 27 int64_t InMilliseconds(base::TimeTicks event_time) {
27 return (event_time - base::TimeTicks()).InMilliseconds(); 28 return (event_time - base::TimeTicks()).InMilliseconds();
28 } 29 }
29 30
30 } 31 }
31 32
32 namespace media { 33 namespace media {
33 namespace cast { 34 namespace cast {
34 35
35 class EncodingEventSubscriberTest : public ::testing::Test { 36 class EncodingEventSubscriberTest : public ::testing::Test {
36 protected: 37 protected:
37 EncodingEventSubscriberTest() 38 EncodingEventSubscriberTest()
38 : testing_clock_(new base::SimpleTestTickClock()), 39 : testing_clock_(new base::SimpleTestTickClock()),
39 task_runner_(new FakeSingleThreadTaskRunner(testing_clock_)), 40 task_runner_(new FakeSingleThreadTaskRunner(testing_clock_)),
40 cast_environment_( 41 cast_environment_(new CastEnvironment(
41 new CastEnvironment(scoped_ptr<base::TickClock>(testing_clock_), 42 std::unique_ptr<base::TickClock>(testing_clock_),
42 task_runner_, 43 task_runner_,
43 task_runner_, 44 task_runner_,
44 task_runner_)) {} 45 task_runner_)) {}
45 46
46 void Init(EventMediaType event_media_type) { 47 void Init(EventMediaType event_media_type) {
47 DCHECK(!event_subscriber_); 48 DCHECK(!event_subscriber_);
48 event_subscriber_.reset(new EncodingEventSubscriber(event_media_type, 10)); 49 event_subscriber_.reset(new EncodingEventSubscriber(event_media_type, 10));
49 cast_environment_->logger()->Subscribe(event_subscriber_.get()); 50 cast_environment_->logger()->Subscribe(event_subscriber_.get());
50 } 51 }
51 52
52 ~EncodingEventSubscriberTest() override { 53 ~EncodingEventSubscriberTest() override {
53 if (event_subscriber_) 54 if (event_subscriber_)
54 cast_environment_->logger()->Unsubscribe(event_subscriber_.get()); 55 cast_environment_->logger()->Unsubscribe(event_subscriber_.get());
55 } 56 }
56 57
57 void GetEventsAndReset() { 58 void GetEventsAndReset() {
58 event_subscriber_->GetEventsAndReset( 59 event_subscriber_->GetEventsAndReset(
59 &metadata_, &frame_events_, &packet_events_); 60 &metadata_, &frame_events_, &packet_events_);
60 first_rtp_timestamp_ = 61 first_rtp_timestamp_ =
61 RtpTimeTicks().Expand(metadata_.first_rtp_timestamp()); 62 RtpTimeTicks().Expand(metadata_.first_rtp_timestamp());
62 } 63 }
63 64
64 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. 65 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
65 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_; 66 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_;
66 scoped_refptr<CastEnvironment> cast_environment_; 67 scoped_refptr<CastEnvironment> cast_environment_;
67 scoped_ptr<EncodingEventSubscriber> event_subscriber_; 68 std::unique_ptr<EncodingEventSubscriber> event_subscriber_;
68 FrameEventList frame_events_; 69 FrameEventList frame_events_;
69 PacketEventList packet_events_; 70 PacketEventList packet_events_;
70 LogMetadata metadata_; 71 LogMetadata metadata_;
71 RtpTimeTicks first_rtp_timestamp_; 72 RtpTimeTicks first_rtp_timestamp_;
72 }; 73 };
73 74
74 TEST_F(EncodingEventSubscriberTest, FrameEventTruncating) { 75 TEST_F(EncodingEventSubscriberTest, FrameEventTruncating) {
75 Init(VIDEO_EVENT); 76 Init(VIDEO_EVENT);
76 77
77 base::TimeTicks now(testing_clock_->NowTicks()); 78 base::TimeTicks now(testing_clock_->NowTicks());
78 79
79 // Entry with RTP timestamp 0 should get dropped. 80 // Entry with RTP timestamp 0 should get dropped.
80 int width = 320; 81 int width = 320;
81 int height = 180; 82 int height = 180;
82 for (int i = 0; i < 11; i++) { 83 for (int i = 0; i < 11; i++) {
83 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 84 std::unique_ptr<FrameEvent> capture_begin_event(new FrameEvent());
84 capture_begin_event->timestamp = now; 85 capture_begin_event->timestamp = now;
85 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 86 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
86 capture_begin_event->media_type = VIDEO_EVENT; 87 capture_begin_event->media_type = VIDEO_EVENT;
87 capture_begin_event->rtp_timestamp = 88 capture_begin_event->rtp_timestamp =
88 RtpTimeTicks().Expand<uint32_t>(i * 100); 89 RtpTimeTicks().Expand<uint32_t>(i * 100);
89 cast_environment_->logger()->DispatchFrameEvent( 90 cast_environment_->logger()->DispatchFrameEvent(
90 std::move(capture_begin_event)); 91 std::move(capture_begin_event));
91 92
92 scoped_ptr<FrameEvent> capture_end_event(new FrameEvent()); 93 std::unique_ptr<FrameEvent> capture_end_event(new FrameEvent());
93 capture_end_event->timestamp = now; 94 capture_end_event->timestamp = now;
94 capture_end_event->type = FRAME_CAPTURE_END; 95 capture_end_event->type = FRAME_CAPTURE_END;
95 capture_end_event->media_type = VIDEO_EVENT; 96 capture_end_event->media_type = VIDEO_EVENT;
96 capture_end_event->rtp_timestamp = RtpTimeTicks().Expand<uint32_t>(i * 100); 97 capture_end_event->rtp_timestamp = RtpTimeTicks().Expand<uint32_t>(i * 100);
97 capture_end_event->width = width; 98 capture_end_event->width = width;
98 capture_end_event->height = height; 99 capture_end_event->height = height;
99 cast_environment_->logger()->DispatchFrameEvent( 100 cast_environment_->logger()->DispatchFrameEvent(
100 std::move(capture_end_event)); 101 std::move(capture_end_event));
101 102
102 scoped_ptr<FrameEvent> decoded_event(new FrameEvent()); 103 std::unique_ptr<FrameEvent> decoded_event(new FrameEvent());
103 decoded_event->timestamp = now; 104 decoded_event->timestamp = now;
104 decoded_event->type = FRAME_DECODED; 105 decoded_event->type = FRAME_DECODED;
105 decoded_event->media_type = VIDEO_EVENT; 106 decoded_event->media_type = VIDEO_EVENT;
106 decoded_event->rtp_timestamp = RtpTimeTicks().Expand<uint32_t>(i * 100); 107 decoded_event->rtp_timestamp = RtpTimeTicks().Expand<uint32_t>(i * 100);
107 decoded_event->frame_id = 0; 108 decoded_event->frame_id = 0;
108 cast_environment_->logger()->DispatchFrameEvent(std::move(decoded_event)); 109 cast_environment_->logger()->DispatchFrameEvent(std::move(decoded_event));
109 110
110 width += 160; 111 width += 160;
111 height += 90; 112 height += 90;
112 } 113 }
(...skipping 13 matching lines...) Expand all
126 } 127 }
127 } 128 }
128 129
129 TEST_F(EncodingEventSubscriberTest, PacketEventTruncating) { 130 TEST_F(EncodingEventSubscriberTest, PacketEventTruncating) {
130 Init(AUDIO_EVENT); 131 Init(AUDIO_EVENT);
131 132
132 base::TimeTicks now(testing_clock_->NowTicks()); 133 base::TimeTicks now(testing_clock_->NowTicks());
133 134
134 // Entry with RTP timestamp 0 should get dropped. 135 // Entry with RTP timestamp 0 should get dropped.
135 for (int i = 0; i < 11; i++) { 136 for (int i = 0; i < 11; i++) {
136 scoped_ptr<PacketEvent> receive_event(new PacketEvent()); 137 std::unique_ptr<PacketEvent> receive_event(new PacketEvent());
137 receive_event->timestamp = now; 138 receive_event->timestamp = now;
138 receive_event->type = PACKET_RECEIVED; 139 receive_event->type = PACKET_RECEIVED;
139 receive_event->media_type = AUDIO_EVENT; 140 receive_event->media_type = AUDIO_EVENT;
140 receive_event->rtp_timestamp = RtpTimeTicks().Expand<uint32_t>(i * 100); 141 receive_event->rtp_timestamp = RtpTimeTicks().Expand<uint32_t>(i * 100);
141 receive_event->frame_id = 0; 142 receive_event->frame_id = 0;
142 receive_event->packet_id = i; 143 receive_event->packet_id = i;
143 receive_event->max_packet_id = 10; 144 receive_event->max_packet_id = 10;
144 receive_event->size = 123; 145 receive_event->size = 123;
145 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); 146 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event));
146 } 147 }
147 148
148 GetEventsAndReset(); 149 GetEventsAndReset();
149 150
150 ASSERT_EQ(10u, packet_events_.size()); 151 ASSERT_EQ(10u, packet_events_.size());
151 EXPECT_EQ(100u, packet_events_.front()->relative_rtp_timestamp()); 152 EXPECT_EQ(100u, packet_events_.front()->relative_rtp_timestamp());
152 EXPECT_EQ(1000u, packet_events_.back()->relative_rtp_timestamp()); 153 EXPECT_EQ(1000u, packet_events_.back()->relative_rtp_timestamp());
153 } 154 }
154 155
155 TEST_F(EncodingEventSubscriberTest, TooManyProtos) { 156 TEST_F(EncodingEventSubscriberTest, TooManyProtos) {
156 Init(VIDEO_EVENT); 157 Init(VIDEO_EVENT);
157 size_t num_frame_event_protos = 3; 158 size_t num_frame_event_protos = 3;
158 size_t num_packet_event_protos = kMaxProtosPerFrame - num_frame_event_protos; 159 size_t num_packet_event_protos = kMaxProtosPerFrame - num_frame_event_protos;
159 base::TimeTicks now(testing_clock_->NowTicks()); 160 base::TimeTicks now(testing_clock_->NowTicks());
160 161
161 for (size_t i = 0; i < num_frame_event_protos; i++) { 162 for (size_t i = 0; i < num_frame_event_protos; i++) {
162 for (int j = 0; j < kMaxEventsPerProto; j++) { 163 for (int j = 0; j < kMaxEventsPerProto; j++) {
163 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 164 std::unique_ptr<FrameEvent> capture_begin_event(new FrameEvent());
164 capture_begin_event->timestamp = now; 165 capture_begin_event->timestamp = now;
165 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 166 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
166 capture_begin_event->media_type = VIDEO_EVENT; 167 capture_begin_event->media_type = VIDEO_EVENT;
167 capture_begin_event->rtp_timestamp = RtpTimeTicks(); 168 capture_begin_event->rtp_timestamp = RtpTimeTicks();
168 cast_environment_->logger()->DispatchFrameEvent( 169 cast_environment_->logger()->DispatchFrameEvent(
169 std::move(capture_begin_event)); 170 std::move(capture_begin_event));
170 } 171 }
171 } 172 }
172 173
173 for (size_t i = 0; i < num_packet_event_protos; i++) { 174 for (size_t i = 0; i < num_packet_event_protos; i++) {
174 for (int j = 0; j < kMaxEventsPerProto; j++) { 175 for (int j = 0; j < kMaxEventsPerProto; j++) {
175 scoped_ptr<PacketEvent> receive_event(new PacketEvent()); 176 std::unique_ptr<PacketEvent> receive_event(new PacketEvent());
176 receive_event->timestamp = now; 177 receive_event->timestamp = now;
177 receive_event->type = PACKET_RECEIVED; 178 receive_event->type = PACKET_RECEIVED;
178 receive_event->media_type = VIDEO_EVENT; 179 receive_event->media_type = VIDEO_EVENT;
179 receive_event->rtp_timestamp = RtpTimeTicks(); 180 receive_event->rtp_timestamp = RtpTimeTicks();
180 receive_event->frame_id = 0; 181 receive_event->frame_id = 0;
181 receive_event->packet_id = 0; 182 receive_event->packet_id = 0;
182 receive_event->max_packet_id = 10; 183 receive_event->max_packet_id = 10;
183 receive_event->size = 123; 184 receive_event->size = 123;
184 cast_environment_->logger()->DispatchPacketEvent( 185 cast_environment_->logger()->DispatchPacketEvent(
185 std::move(receive_event)); 186 std::move(receive_event));
186 } 187 }
187 } 188 }
188 189
189 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 190 std::unique_ptr<FrameEvent> capture_begin_event(new FrameEvent());
190 capture_begin_event->timestamp = now; 191 capture_begin_event->timestamp = now;
191 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 192 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
192 capture_begin_event->media_type = VIDEO_EVENT; 193 capture_begin_event->media_type = VIDEO_EVENT;
193 capture_begin_event->rtp_timestamp = RtpTimeTicks(); 194 capture_begin_event->rtp_timestamp = RtpTimeTicks();
194 cast_environment_->logger()->DispatchFrameEvent( 195 cast_environment_->logger()->DispatchFrameEvent(
195 std::move(capture_begin_event)); 196 std::move(capture_begin_event));
196 197
197 GetEventsAndReset(); 198 GetEventsAndReset();
198 EXPECT_EQ(num_frame_event_protos, frame_events_.size()); 199 EXPECT_EQ(num_frame_event_protos, frame_events_.size());
199 EXPECT_EQ(num_packet_event_protos, packet_events_.size()); 200 EXPECT_EQ(num_packet_event_protos, packet_events_.size());
200 } 201 }
201 202
202 TEST_F(EncodingEventSubscriberTest, EventFiltering) { 203 TEST_F(EncodingEventSubscriberTest, EventFiltering) {
203 Init(VIDEO_EVENT); 204 Init(VIDEO_EVENT);
204 205
205 base::TimeTicks now(testing_clock_->NowTicks()); 206 base::TimeTicks now(testing_clock_->NowTicks());
206 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 207 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
207 scoped_ptr<FrameEvent> video_event(new FrameEvent()); 208 std::unique_ptr<FrameEvent> video_event(new FrameEvent());
208 video_event->timestamp = now; 209 video_event->timestamp = now;
209 video_event->type = FRAME_DECODED; 210 video_event->type = FRAME_DECODED;
210 video_event->media_type = VIDEO_EVENT; 211 video_event->media_type = VIDEO_EVENT;
211 video_event->rtp_timestamp = rtp_timestamp; 212 video_event->rtp_timestamp = rtp_timestamp;
212 video_event->frame_id = 0; 213 video_event->frame_id = 0;
213 cast_environment_->logger()->DispatchFrameEvent(std::move(video_event)); 214 cast_environment_->logger()->DispatchFrameEvent(std::move(video_event));
214 215
215 // This is an AUDIO_EVENT and shouldn't be processed by the subscriber. 216 // This is an AUDIO_EVENT and shouldn't be processed by the subscriber.
216 scoped_ptr<FrameEvent> audio_event(new FrameEvent()); 217 std::unique_ptr<FrameEvent> audio_event(new FrameEvent());
217 audio_event->timestamp = now; 218 audio_event->timestamp = now;
218 audio_event->type = FRAME_DECODED; 219 audio_event->type = FRAME_DECODED;
219 audio_event->media_type = AUDIO_EVENT; 220 audio_event->media_type = AUDIO_EVENT;
220 audio_event->rtp_timestamp = rtp_timestamp; 221 audio_event->rtp_timestamp = rtp_timestamp;
221 audio_event->frame_id = 0; 222 audio_event->frame_id = 0;
222 cast_environment_->logger()->DispatchFrameEvent(std::move(audio_event)); 223 cast_environment_->logger()->DispatchFrameEvent(std::move(audio_event));
223 224
224 GetEventsAndReset(); 225 GetEventsAndReset();
225 226
226 ASSERT_EQ(1u, frame_events_.size()); 227 ASSERT_EQ(1u, frame_events_.size());
227 FrameEventList::iterator it = frame_events_.begin(); 228 FrameEventList::iterator it = frame_events_.begin();
228 229
229 linked_ptr<AggregatedFrameEvent> frame_event = *it; 230 linked_ptr<AggregatedFrameEvent> frame_event = *it;
230 231
231 ASSERT_EQ(1, frame_event->event_type_size()); 232 ASSERT_EQ(1, frame_event->event_type_size());
232 EXPECT_EQ(media::cast::proto::FRAME_DECODED, 233 EXPECT_EQ(media::cast::proto::FRAME_DECODED,
233 frame_event->event_type(0)); 234 frame_event->event_type(0));
234 235
235 GetEventsAndReset(); 236 GetEventsAndReset();
236 237
237 EXPECT_TRUE(packet_events_.empty()); 238 EXPECT_TRUE(packet_events_.empty());
238 } 239 }
239 240
240 TEST_F(EncodingEventSubscriberTest, FrameEvent) { 241 TEST_F(EncodingEventSubscriberTest, FrameEvent) {
241 Init(VIDEO_EVENT); 242 Init(VIDEO_EVENT);
242 base::TimeTicks now(testing_clock_->NowTicks()); 243 base::TimeTicks now(testing_clock_->NowTicks());
243 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 244 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
244 scoped_ptr<FrameEvent> decode_event(new FrameEvent()); 245 std::unique_ptr<FrameEvent> decode_event(new FrameEvent());
245 decode_event->timestamp = now; 246 decode_event->timestamp = now;
246 decode_event->type = FRAME_DECODED; 247 decode_event->type = FRAME_DECODED;
247 decode_event->media_type = VIDEO_EVENT; 248 decode_event->media_type = VIDEO_EVENT;
248 decode_event->rtp_timestamp = rtp_timestamp; 249 decode_event->rtp_timestamp = rtp_timestamp;
249 decode_event->frame_id = 0; 250 decode_event->frame_id = 0;
250 cast_environment_->logger()->DispatchFrameEvent(std::move(decode_event)); 251 cast_environment_->logger()->DispatchFrameEvent(std::move(decode_event));
251 252
252 GetEventsAndReset(); 253 GetEventsAndReset();
253 254
254 ASSERT_EQ(1u, frame_events_.size()); 255 ASSERT_EQ(1u, frame_events_.size());
(...skipping 15 matching lines...) Expand all
270 271
271 GetEventsAndReset(); 272 GetEventsAndReset();
272 EXPECT_TRUE(frame_events_.empty()); 273 EXPECT_TRUE(frame_events_.empty());
273 } 274 }
274 275
275 TEST_F(EncodingEventSubscriberTest, FrameEventDelay) { 276 TEST_F(EncodingEventSubscriberTest, FrameEventDelay) {
276 Init(AUDIO_EVENT); 277 Init(AUDIO_EVENT);
277 base::TimeTicks now(testing_clock_->NowTicks()); 278 base::TimeTicks now(testing_clock_->NowTicks());
278 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 279 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
279 int delay_ms = 100; 280 int delay_ms = 100;
280 scoped_ptr<FrameEvent> playout_event(new FrameEvent()); 281 std::unique_ptr<FrameEvent> playout_event(new FrameEvent());
281 playout_event->timestamp = now; 282 playout_event->timestamp = now;
282 playout_event->type = FRAME_PLAYOUT; 283 playout_event->type = FRAME_PLAYOUT;
283 playout_event->media_type = AUDIO_EVENT; 284 playout_event->media_type = AUDIO_EVENT;
284 playout_event->rtp_timestamp = rtp_timestamp; 285 playout_event->rtp_timestamp = rtp_timestamp;
285 playout_event->frame_id = 0; 286 playout_event->frame_id = 0;
286 playout_event->delay_delta = base::TimeDelta::FromMilliseconds(delay_ms); 287 playout_event->delay_delta = base::TimeDelta::FromMilliseconds(delay_ms);
287 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event)); 288 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event));
288 289
289 GetEventsAndReset(); 290 GetEventsAndReset();
290 291
(...skipping 18 matching lines...) Expand all
309 310
310 TEST_F(EncodingEventSubscriberTest, FrameEventSize) { 311 TEST_F(EncodingEventSubscriberTest, FrameEventSize) {
311 Init(VIDEO_EVENT); 312 Init(VIDEO_EVENT);
312 base::TimeTicks now(testing_clock_->NowTicks()); 313 base::TimeTicks now(testing_clock_->NowTicks());
313 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 314 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
314 int size = 123; 315 int size = 123;
315 bool key_frame = true; 316 bool key_frame = true;
316 int target_bitrate = 1024; 317 int target_bitrate = 1024;
317 double encoder_cpu_utilization = 0.90; 318 double encoder_cpu_utilization = 0.90;
318 double idealized_bitrate_utilization = 0.42; 319 double idealized_bitrate_utilization = 0.42;
319 scoped_ptr<FrameEvent> encode_event(new FrameEvent()); 320 std::unique_ptr<FrameEvent> encode_event(new FrameEvent());
320 encode_event->timestamp = now; 321 encode_event->timestamp = now;
321 encode_event->type = FRAME_ENCODED; 322 encode_event->type = FRAME_ENCODED;
322 encode_event->media_type = VIDEO_EVENT; 323 encode_event->media_type = VIDEO_EVENT;
323 encode_event->rtp_timestamp = rtp_timestamp; 324 encode_event->rtp_timestamp = rtp_timestamp;
324 encode_event->frame_id = 0; 325 encode_event->frame_id = 0;
325 encode_event->size = size; 326 encode_event->size = size;
326 encode_event->key_frame = key_frame; 327 encode_event->key_frame = key_frame;
327 encode_event->target_bitrate = target_bitrate; 328 encode_event->target_bitrate = target_bitrate;
328 encode_event->encoder_cpu_utilization = encoder_cpu_utilization; 329 encode_event->encoder_cpu_utilization = encoder_cpu_utilization;
329 encode_event->idealized_bitrate_utilization = idealized_bitrate_utilization; 330 encode_event->idealized_bitrate_utilization = idealized_bitrate_utilization;
(...skipping 22 matching lines...) Expand all
352 EXPECT_EQ(target_bitrate, event->target_bitrate()); 353 EXPECT_EQ(target_bitrate, event->target_bitrate());
353 EXPECT_EQ(90, event->encoder_cpu_percent_utilized()); 354 EXPECT_EQ(90, event->encoder_cpu_percent_utilized());
354 EXPECT_EQ(42, event->idealized_bitrate_percent_utilized()); 355 EXPECT_EQ(42, event->idealized_bitrate_percent_utilized());
355 } 356 }
356 357
357 TEST_F(EncodingEventSubscriberTest, MultipleFrameEvents) { 358 TEST_F(EncodingEventSubscriberTest, MultipleFrameEvents) {
358 Init(AUDIO_EVENT); 359 Init(AUDIO_EVENT);
359 RtpTimeTicks rtp_timestamp1 = RtpTimeTicks().Expand(UINT32_C(100)); 360 RtpTimeTicks rtp_timestamp1 = RtpTimeTicks().Expand(UINT32_C(100));
360 RtpTimeTicks rtp_timestamp2 = rtp_timestamp1.Expand(UINT32_C(200)); 361 RtpTimeTicks rtp_timestamp2 = rtp_timestamp1.Expand(UINT32_C(200));
361 base::TimeTicks now1(testing_clock_->NowTicks()); 362 base::TimeTicks now1(testing_clock_->NowTicks());
362 scoped_ptr<FrameEvent> playout_event(new FrameEvent()); 363 std::unique_ptr<FrameEvent> playout_event(new FrameEvent());
363 playout_event->timestamp = now1; 364 playout_event->timestamp = now1;
364 playout_event->type = FRAME_PLAYOUT; 365 playout_event->type = FRAME_PLAYOUT;
365 playout_event->media_type = AUDIO_EVENT; 366 playout_event->media_type = AUDIO_EVENT;
366 playout_event->rtp_timestamp = rtp_timestamp1; 367 playout_event->rtp_timestamp = rtp_timestamp1;
367 playout_event->frame_id = 0; 368 playout_event->frame_id = 0;
368 playout_event->delay_delta = base::TimeDelta::FromMilliseconds(100); 369 playout_event->delay_delta = base::TimeDelta::FromMilliseconds(100);
369 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event)); 370 cast_environment_->logger()->DispatchFrameEvent(std::move(playout_event));
370 371
371 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20)); 372 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20));
372 base::TimeTicks now2(testing_clock_->NowTicks()); 373 base::TimeTicks now2(testing_clock_->NowTicks());
373 scoped_ptr<FrameEvent> encode_event(new FrameEvent()); 374 std::unique_ptr<FrameEvent> encode_event(new FrameEvent());
374 encode_event->timestamp = now2; 375 encode_event->timestamp = now2;
375 encode_event->type = FRAME_ENCODED; 376 encode_event->type = FRAME_ENCODED;
376 encode_event->media_type = AUDIO_EVENT; 377 encode_event->media_type = AUDIO_EVENT;
377 encode_event->rtp_timestamp = rtp_timestamp2; 378 encode_event->rtp_timestamp = rtp_timestamp2;
378 encode_event->frame_id = 0; 379 encode_event->frame_id = 0;
379 encode_event->size = 123; 380 encode_event->size = 123;
380 encode_event->encoder_cpu_utilization = 0.44; 381 encode_event->encoder_cpu_utilization = 0.44;
381 encode_event->idealized_bitrate_utilization = 0.55; 382 encode_event->idealized_bitrate_utilization = 0.55;
382 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event)); 383 cast_environment_->logger()->DispatchFrameEvent(std::move(encode_event));
383 384
384 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20)); 385 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20));
385 base::TimeTicks now3(testing_clock_->NowTicks()); 386 base::TimeTicks now3(testing_clock_->NowTicks());
386 scoped_ptr<FrameEvent> decode_event(new FrameEvent()); 387 std::unique_ptr<FrameEvent> decode_event(new FrameEvent());
387 decode_event->timestamp = now3; 388 decode_event->timestamp = now3;
388 decode_event->type = FRAME_DECODED; 389 decode_event->type = FRAME_DECODED;
389 decode_event->media_type = AUDIO_EVENT; 390 decode_event->media_type = AUDIO_EVENT;
390 decode_event->rtp_timestamp = rtp_timestamp1; 391 decode_event->rtp_timestamp = rtp_timestamp1;
391 decode_event->frame_id = 0; 392 decode_event->frame_id = 0;
392 cast_environment_->logger()->DispatchFrameEvent(std::move(decode_event)); 393 cast_environment_->logger()->DispatchFrameEvent(std::move(decode_event));
393 394
394 GetEventsAndReset(); 395 GetEventsAndReset();
395 396
396 ASSERT_EQ(2u, frame_events_.size()); 397 ASSERT_EQ(2u, frame_events_.size());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 EXPECT_EQ(44, event->encoder_cpu_percent_utilized()); 430 EXPECT_EQ(44, event->encoder_cpu_percent_utilized());
430 EXPECT_EQ(55, event->idealized_bitrate_percent_utilized()); 431 EXPECT_EQ(55, event->idealized_bitrate_percent_utilized());
431 } 432 }
432 433
433 TEST_F(EncodingEventSubscriberTest, PacketEvent) { 434 TEST_F(EncodingEventSubscriberTest, PacketEvent) {
434 Init(AUDIO_EVENT); 435 Init(AUDIO_EVENT);
435 base::TimeTicks now(testing_clock_->NowTicks()); 436 base::TimeTicks now(testing_clock_->NowTicks());
436 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 437 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
437 int packet_id = 2; 438 int packet_id = 2;
438 int size = 100; 439 int size = 100;
439 scoped_ptr<PacketEvent> receive_event(new PacketEvent()); 440 std::unique_ptr<PacketEvent> receive_event(new PacketEvent());
440 receive_event->timestamp = now; 441 receive_event->timestamp = now;
441 receive_event->type = PACKET_RECEIVED; 442 receive_event->type = PACKET_RECEIVED;
442 receive_event->media_type = AUDIO_EVENT; 443 receive_event->media_type = AUDIO_EVENT;
443 receive_event->rtp_timestamp = rtp_timestamp; 444 receive_event->rtp_timestamp = rtp_timestamp;
444 receive_event->frame_id = 0; 445 receive_event->frame_id = 0;
445 receive_event->packet_id = packet_id; 446 receive_event->packet_id = packet_id;
446 receive_event->max_packet_id = 10; 447 receive_event->max_packet_id = 10;
447 receive_event->size = size; 448 receive_event->size = size;
448 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event)); 449 cast_environment_->logger()->DispatchPacketEvent(std::move(receive_event));
449 450
(...skipping 21 matching lines...) Expand all
471 GetEventsAndReset(); 472 GetEventsAndReset();
472 EXPECT_TRUE(packet_events_.empty()); 473 EXPECT_TRUE(packet_events_.empty());
473 } 474 }
474 475
475 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) { 476 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) {
476 Init(VIDEO_EVENT); 477 Init(VIDEO_EVENT);
477 base::TimeTicks now1(testing_clock_->NowTicks()); 478 base::TimeTicks now1(testing_clock_->NowTicks());
478 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 479 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
479 int packet_id = 2; 480 int packet_id = 2;
480 int size = 100; 481 int size = 100;
481 scoped_ptr<PacketEvent> send_event(new PacketEvent()); 482 std::unique_ptr<PacketEvent> send_event(new PacketEvent());
482 send_event->timestamp = now1; 483 send_event->timestamp = now1;
483 send_event->type = PACKET_SENT_TO_NETWORK; 484 send_event->type = PACKET_SENT_TO_NETWORK;
484 send_event->media_type = VIDEO_EVENT; 485 send_event->media_type = VIDEO_EVENT;
485 send_event->rtp_timestamp = rtp_timestamp; 486 send_event->rtp_timestamp = rtp_timestamp;
486 send_event->frame_id = 0; 487 send_event->frame_id = 0;
487 send_event->packet_id = packet_id; 488 send_event->packet_id = packet_id;
488 send_event->max_packet_id = 10; 489 send_event->max_packet_id = 10;
489 send_event->size = size; 490 send_event->size = size;
490 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); 491 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event));
491 492
492 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20)); 493 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20));
493 base::TimeTicks now2(testing_clock_->NowTicks()); 494 base::TimeTicks now2(testing_clock_->NowTicks());
494 scoped_ptr<PacketEvent> retransmit_event(new PacketEvent()); 495 std::unique_ptr<PacketEvent> retransmit_event(new PacketEvent());
495 retransmit_event->timestamp = now2; 496 retransmit_event->timestamp = now2;
496 retransmit_event->type = PACKET_RETRANSMITTED; 497 retransmit_event->type = PACKET_RETRANSMITTED;
497 retransmit_event->media_type = VIDEO_EVENT; 498 retransmit_event->media_type = VIDEO_EVENT;
498 retransmit_event->rtp_timestamp = rtp_timestamp; 499 retransmit_event->rtp_timestamp = rtp_timestamp;
499 retransmit_event->frame_id = 0; 500 retransmit_event->frame_id = 0;
500 retransmit_event->packet_id = packet_id; 501 retransmit_event->packet_id = packet_id;
501 retransmit_event->max_packet_id = 10; 502 retransmit_event->max_packet_id = 10;
502 retransmit_event->size = size; 503 retransmit_event->size = size;
503 cast_environment_->logger()->DispatchPacketEvent(std::move(retransmit_event)); 504 cast_environment_->logger()->DispatchPacketEvent(std::move(retransmit_event));
504 505
(...skipping 21 matching lines...) Expand all
526 EXPECT_EQ(InMilliseconds(now2), base_event.event_timestamp_ms(1)); 527 EXPECT_EQ(InMilliseconds(now2), base_event.event_timestamp_ms(1));
527 } 528 }
528 529
529 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) { 530 TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) {
530 Init(VIDEO_EVENT); 531 Init(VIDEO_EVENT);
531 base::TimeTicks now1(testing_clock_->NowTicks()); 532 base::TimeTicks now1(testing_clock_->NowTicks());
532 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 533 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
533 int packet_id_1 = 2; 534 int packet_id_1 = 2;
534 int packet_id_2 = 3; 535 int packet_id_2 = 3;
535 int size = 100; 536 int size = 100;
536 scoped_ptr<PacketEvent> send_event(new PacketEvent()); 537 std::unique_ptr<PacketEvent> send_event(new PacketEvent());
537 send_event->timestamp = now1; 538 send_event->timestamp = now1;
538 send_event->type = PACKET_SENT_TO_NETWORK; 539 send_event->type = PACKET_SENT_TO_NETWORK;
539 send_event->media_type = VIDEO_EVENT; 540 send_event->media_type = VIDEO_EVENT;
540 send_event->rtp_timestamp = rtp_timestamp; 541 send_event->rtp_timestamp = rtp_timestamp;
541 send_event->frame_id = 0; 542 send_event->frame_id = 0;
542 send_event->packet_id = packet_id_1; 543 send_event->packet_id = packet_id_1;
543 send_event->max_packet_id = 10; 544 send_event->max_packet_id = 10;
544 send_event->size = size; 545 send_event->size = size;
545 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); 546 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event));
546 547
547 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20)); 548 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20));
548 base::TimeTicks now2(testing_clock_->NowTicks()); 549 base::TimeTicks now2(testing_clock_->NowTicks());
549 scoped_ptr<PacketEvent> retransmit_event(new PacketEvent()); 550 std::unique_ptr<PacketEvent> retransmit_event(new PacketEvent());
550 retransmit_event->timestamp = now2; 551 retransmit_event->timestamp = now2;
551 retransmit_event->type = PACKET_RETRANSMITTED; 552 retransmit_event->type = PACKET_RETRANSMITTED;
552 retransmit_event->media_type = VIDEO_EVENT; 553 retransmit_event->media_type = VIDEO_EVENT;
553 retransmit_event->rtp_timestamp = rtp_timestamp; 554 retransmit_event->rtp_timestamp = rtp_timestamp;
554 retransmit_event->frame_id = 0; 555 retransmit_event->frame_id = 0;
555 retransmit_event->packet_id = packet_id_2; 556 retransmit_event->packet_id = packet_id_2;
556 retransmit_event->max_packet_id = 10; 557 retransmit_event->max_packet_id = 10;
557 retransmit_event->size = size; 558 retransmit_event->size = size;
558 cast_environment_->logger()->DispatchPacketEvent(std::move(retransmit_event)); 559 cast_environment_->logger()->DispatchPacketEvent(std::move(retransmit_event));
559 560
(...skipping 27 matching lines...) Expand all
587 } 588 }
588 589
589 TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) { 590 TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) {
590 Init(VIDEO_EVENT); 591 Init(VIDEO_EVENT);
591 base::TimeTicks now1(testing_clock_->NowTicks()); 592 base::TimeTicks now1(testing_clock_->NowTicks());
592 RtpTimeTicks rtp_timestamp_1 = RtpTimeTicks().Expand(UINT32_C(100)); 593 RtpTimeTicks rtp_timestamp_1 = RtpTimeTicks().Expand(UINT32_C(100));
593 RtpTimeTicks rtp_timestamp_2 = rtp_timestamp_1.Expand(UINT32_C(200)); 594 RtpTimeTicks rtp_timestamp_2 = rtp_timestamp_1.Expand(UINT32_C(200));
594 int packet_id_1 = 2; 595 int packet_id_1 = 2;
595 int packet_id_2 = 3; 596 int packet_id_2 = 3;
596 int size = 100; 597 int size = 100;
597 scoped_ptr<PacketEvent> send_event(new PacketEvent()); 598 std::unique_ptr<PacketEvent> send_event(new PacketEvent());
598 send_event->timestamp = now1; 599 send_event->timestamp = now1;
599 send_event->type = PACKET_SENT_TO_NETWORK; 600 send_event->type = PACKET_SENT_TO_NETWORK;
600 send_event->media_type = VIDEO_EVENT; 601 send_event->media_type = VIDEO_EVENT;
601 send_event->rtp_timestamp = rtp_timestamp_1; 602 send_event->rtp_timestamp = rtp_timestamp_1;
602 send_event->frame_id = 0; 603 send_event->frame_id = 0;
603 send_event->packet_id = packet_id_1; 604 send_event->packet_id = packet_id_1;
604 send_event->max_packet_id = 10; 605 send_event->max_packet_id = 10;
605 send_event->size = size; 606 send_event->size = size;
606 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); 607 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event));
607 608
608 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20)); 609 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(20));
609 base::TimeTicks now2(testing_clock_->NowTicks()); 610 base::TimeTicks now2(testing_clock_->NowTicks());
610 scoped_ptr<PacketEvent> retransmit_event(new PacketEvent()); 611 std::unique_ptr<PacketEvent> retransmit_event(new PacketEvent());
611 retransmit_event->timestamp = now2; 612 retransmit_event->timestamp = now2;
612 retransmit_event->type = PACKET_RETRANSMITTED; 613 retransmit_event->type = PACKET_RETRANSMITTED;
613 retransmit_event->media_type = VIDEO_EVENT; 614 retransmit_event->media_type = VIDEO_EVENT;
614 retransmit_event->rtp_timestamp = rtp_timestamp_2; 615 retransmit_event->rtp_timestamp = rtp_timestamp_2;
615 retransmit_event->frame_id = 0; 616 retransmit_event->frame_id = 0;
616 retransmit_event->packet_id = packet_id_2; 617 retransmit_event->packet_id = packet_id_2;
617 retransmit_event->max_packet_id = 10; 618 retransmit_event->max_packet_id = 10;
618 retransmit_event->size = size; 619 retransmit_event->size = size;
619 cast_environment_->logger()->DispatchPacketEvent(std::move(retransmit_event)); 620 cast_environment_->logger()->DispatchPacketEvent(std::move(retransmit_event));
620 621
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 base_event_2.event_type(0)); 654 base_event_2.event_type(0));
654 ASSERT_EQ(1, base_event_2.event_timestamp_ms_size()); 655 ASSERT_EQ(1, base_event_2.event_timestamp_ms_size());
655 EXPECT_EQ(InMilliseconds(now2), base_event_2.event_timestamp_ms(0)); 656 EXPECT_EQ(InMilliseconds(now2), base_event_2.event_timestamp_ms(0));
656 } 657 }
657 658
658 TEST_F(EncodingEventSubscriberTest, FirstRtpTimeTicks) { 659 TEST_F(EncodingEventSubscriberTest, FirstRtpTimeTicks) {
659 Init(VIDEO_EVENT); 660 Init(VIDEO_EVENT);
660 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(12345)); 661 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(12345));
661 base::TimeTicks now(testing_clock_->NowTicks()); 662 base::TimeTicks now(testing_clock_->NowTicks());
662 663
663 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 664 std::unique_ptr<FrameEvent> capture_begin_event(new FrameEvent());
664 capture_begin_event->timestamp = now; 665 capture_begin_event->timestamp = now;
665 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 666 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
666 capture_begin_event->media_type = VIDEO_EVENT; 667 capture_begin_event->media_type = VIDEO_EVENT;
667 capture_begin_event->rtp_timestamp = rtp_timestamp; 668 capture_begin_event->rtp_timestamp = rtp_timestamp;
668 cast_environment_->logger()->DispatchFrameEvent( 669 cast_environment_->logger()->DispatchFrameEvent(
669 std::move(capture_begin_event)); 670 std::move(capture_begin_event));
670 671
671 scoped_ptr<FrameEvent> capture_end_event(new FrameEvent()); 672 std::unique_ptr<FrameEvent> capture_end_event(new FrameEvent());
672 capture_end_event->timestamp = now; 673 capture_end_event->timestamp = now;
673 capture_end_event->type = FRAME_CAPTURE_END; 674 capture_end_event->type = FRAME_CAPTURE_END;
674 capture_end_event->media_type = VIDEO_EVENT; 675 capture_end_event->media_type = VIDEO_EVENT;
675 capture_end_event->rtp_timestamp = 676 capture_end_event->rtp_timestamp =
676 rtp_timestamp + RtpTimeDelta::FromTicks(30); 677 rtp_timestamp + RtpTimeDelta::FromTicks(30);
677 capture_end_event->width = 1280; 678 capture_end_event->width = 1280;
678 capture_end_event->height = 720; 679 capture_end_event->height = 720;
679 cast_environment_->logger()->DispatchFrameEvent(std::move(capture_end_event)); 680 cast_environment_->logger()->DispatchFrameEvent(std::move(capture_end_event));
680 681
681 GetEventsAndReset(); 682 GetEventsAndReset();
(...skipping 22 matching lines...) Expand all
704 GetEventsAndReset(); 705 GetEventsAndReset();
705 706
706 EXPECT_EQ(rtp_timestamp, first_rtp_timestamp_); 707 EXPECT_EQ(rtp_timestamp, first_rtp_timestamp_);
707 } 708 }
708 709
709 TEST_F(EncodingEventSubscriberTest, RelativeRtpTimeTicksWrapAround) { 710 TEST_F(EncodingEventSubscriberTest, RelativeRtpTimeTicksWrapAround) {
710 Init(VIDEO_EVENT); 711 Init(VIDEO_EVENT);
711 RtpTimeTicks rtp_timestamp = RtpTimeTicks() - RtpTimeDelta::FromTicks(20); 712 RtpTimeTicks rtp_timestamp = RtpTimeTicks() - RtpTimeDelta::FromTicks(20);
712 base::TimeTicks now(testing_clock_->NowTicks()); 713 base::TimeTicks now(testing_clock_->NowTicks());
713 714
714 scoped_ptr<FrameEvent> capture_begin_event(new FrameEvent()); 715 std::unique_ptr<FrameEvent> capture_begin_event(new FrameEvent());
715 capture_begin_event->timestamp = now; 716 capture_begin_event->timestamp = now;
716 capture_begin_event->type = FRAME_CAPTURE_BEGIN; 717 capture_begin_event->type = FRAME_CAPTURE_BEGIN;
717 capture_begin_event->media_type = VIDEO_EVENT; 718 capture_begin_event->media_type = VIDEO_EVENT;
718 capture_begin_event->rtp_timestamp = rtp_timestamp; 719 capture_begin_event->rtp_timestamp = rtp_timestamp;
719 cast_environment_->logger()->DispatchFrameEvent( 720 cast_environment_->logger()->DispatchFrameEvent(
720 std::move(capture_begin_event)); 721 std::move(capture_begin_event));
721 722
722 // RtpTimeTicks has now wrapped around. 723 // RtpTimeTicks has now wrapped around.
723 scoped_ptr<FrameEvent> capture_end_event(new FrameEvent()); 724 std::unique_ptr<FrameEvent> capture_end_event(new FrameEvent());
724 capture_end_event->timestamp = now; 725 capture_end_event->timestamp = now;
725 capture_end_event->type = FRAME_CAPTURE_END; 726 capture_end_event->type = FRAME_CAPTURE_END;
726 capture_end_event->media_type = VIDEO_EVENT; 727 capture_end_event->media_type = VIDEO_EVENT;
727 capture_end_event->rtp_timestamp = 728 capture_end_event->rtp_timestamp =
728 rtp_timestamp + RtpTimeDelta::FromTicks(30); 729 rtp_timestamp + RtpTimeDelta::FromTicks(30);
729 capture_end_event->width = 1280; 730 capture_end_event->width = 1280;
730 capture_end_event->height = 720; 731 capture_end_event->height = 720;
731 cast_environment_->logger()->DispatchFrameEvent(std::move(capture_end_event)); 732 cast_environment_->logger()->DispatchFrameEvent(std::move(capture_end_event));
732 733
733 GetEventsAndReset(); 734 GetEventsAndReset();
734 735
735 FrameEventList::iterator it = frame_events_.begin(); 736 FrameEventList::iterator it = frame_events_.begin();
736 ASSERT_NE(frame_events_.end(), it); 737 ASSERT_NE(frame_events_.end(), it);
737 EXPECT_EQ(0u, (*it)->relative_rtp_timestamp()); 738 EXPECT_EQ(0u, (*it)->relative_rtp_timestamp());
738 739
739 ++it; 740 ++it;
740 ASSERT_NE(frame_events_.end(), it); 741 ASSERT_NE(frame_events_.end(), it);
741 EXPECT_EQ(30u, (*it)->relative_rtp_timestamp()); 742 EXPECT_EQ(30u, (*it)->relative_rtp_timestamp());
742 EXPECT_EQ(1280, (*it)->width()); 743 EXPECT_EQ(1280, (*it)->width());
743 EXPECT_EQ(720, (*it)->height()); 744 EXPECT_EQ(720, (*it)->height());
744 } 745 }
745 746
746 TEST_F(EncodingEventSubscriberTest, MaxEventsPerProto) { 747 TEST_F(EncodingEventSubscriberTest, MaxEventsPerProto) {
747 Init(VIDEO_EVENT); 748 Init(VIDEO_EVENT);
748 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100)); 749 RtpTimeTicks rtp_timestamp = RtpTimeTicks().Expand(UINT32_C(100));
749 for (int i = 0; i < kMaxEventsPerProto + 1; i++) { 750 for (int i = 0; i < kMaxEventsPerProto + 1; i++) {
750 scoped_ptr<FrameEvent> ack_event(new FrameEvent()); 751 std::unique_ptr<FrameEvent> ack_event(new FrameEvent());
751 ack_event->timestamp = testing_clock_->NowTicks(); 752 ack_event->timestamp = testing_clock_->NowTicks();
752 ack_event->type = FRAME_ACK_RECEIVED; 753 ack_event->type = FRAME_ACK_RECEIVED;
753 ack_event->media_type = VIDEO_EVENT; 754 ack_event->media_type = VIDEO_EVENT;
754 ack_event->rtp_timestamp = rtp_timestamp; 755 ack_event->rtp_timestamp = rtp_timestamp;
755 ack_event->frame_id = 0; 756 ack_event->frame_id = 0;
756 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event)); 757 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_event));
757 758
758 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(30)); 759 task_runner_->Sleep(base::TimeDelta::FromMilliseconds(30));
759 } 760 }
760 761
761 GetEventsAndReset(); 762 GetEventsAndReset();
762 763
763 ASSERT_EQ(2u, frame_events_.size()); 764 ASSERT_EQ(2u, frame_events_.size());
764 FrameEventList::iterator frame_it = frame_events_.begin(); 765 FrameEventList::iterator frame_it = frame_events_.begin();
765 ASSERT_TRUE(frame_it != frame_events_.end()); 766 ASSERT_TRUE(frame_it != frame_events_.end());
766 767
767 linked_ptr<AggregatedFrameEvent> frame_event = *frame_it; 768 linked_ptr<AggregatedFrameEvent> frame_event = *frame_it;
768 769
769 EXPECT_EQ(kMaxEventsPerProto, frame_event->event_type_size()); 770 EXPECT_EQ(kMaxEventsPerProto, frame_event->event_type_size());
770 771
771 for (int i = 0; i < kMaxPacketsPerFrame + 1; i++) { 772 for (int i = 0; i < kMaxPacketsPerFrame + 1; i++) {
772 scoped_ptr<PacketEvent> send_event(new PacketEvent()); 773 std::unique_ptr<PacketEvent> send_event(new PacketEvent());
773 send_event->timestamp = testing_clock_->NowTicks(); 774 send_event->timestamp = testing_clock_->NowTicks();
774 send_event->type = PACKET_SENT_TO_NETWORK; 775 send_event->type = PACKET_SENT_TO_NETWORK;
775 send_event->media_type = VIDEO_EVENT; 776 send_event->media_type = VIDEO_EVENT;
776 send_event->rtp_timestamp = rtp_timestamp; 777 send_event->rtp_timestamp = rtp_timestamp;
777 send_event->frame_id = 0; 778 send_event->frame_id = 0;
778 send_event->packet_id = i; 779 send_event->packet_id = i;
779 send_event->max_packet_id = kMaxPacketsPerFrame; 780 send_event->max_packet_id = kMaxPacketsPerFrame;
780 send_event->size = 123; 781 send_event->size = 123;
781 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); 782 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event));
782 783
(...skipping 10 matching lines...) Expand all
793 linked_ptr<AggregatedPacketEvent> packet_event = *packet_it; 794 linked_ptr<AggregatedPacketEvent> packet_event = *packet_it;
794 795
795 EXPECT_EQ(kMaxPacketsPerFrame, 796 EXPECT_EQ(kMaxPacketsPerFrame,
796 packet_event->base_packet_event_size()); 797 packet_event->base_packet_event_size());
797 798
798 ++packet_it; 799 ++packet_it;
799 packet_event = *packet_it; 800 packet_event = *packet_it;
800 EXPECT_EQ(1, packet_event->base_packet_event_size()); 801 EXPECT_EQ(1, packet_event->base_packet_event_size());
801 802
802 for (int j = 0; j < kMaxEventsPerProto + 1; j++) { 803 for (int j = 0; j < kMaxEventsPerProto + 1; j++) {
803 scoped_ptr<PacketEvent> send_event(new PacketEvent()); 804 std::unique_ptr<PacketEvent> send_event(new PacketEvent());
804 send_event->timestamp = testing_clock_->NowTicks(); 805 send_event->timestamp = testing_clock_->NowTicks();
805 send_event->type = PACKET_SENT_TO_NETWORK; 806 send_event->type = PACKET_SENT_TO_NETWORK;
806 send_event->media_type = VIDEO_EVENT; 807 send_event->media_type = VIDEO_EVENT;
807 send_event->rtp_timestamp = rtp_timestamp; 808 send_event->rtp_timestamp = rtp_timestamp;
808 send_event->frame_id = 0; 809 send_event->frame_id = 0;
809 send_event->packet_id = 0; 810 send_event->packet_id = 0;
810 send_event->max_packet_id = 0; 811 send_event->max_packet_id = 0;
811 send_event->size = 123; 812 send_event->size = 123;
812 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event)); 813 cast_environment_->logger()->DispatchPacketEvent(std::move(send_event));
813 814
(...skipping 11 matching lines...) Expand all
825 EXPECT_EQ(kMaxEventsPerProto, 826 EXPECT_EQ(kMaxEventsPerProto,
826 packet_event->base_packet_event(0).event_type_size()); 827 packet_event->base_packet_event(0).event_type_size());
827 828
828 ++packet_it; 829 ++packet_it;
829 packet_event = *packet_it; 830 packet_event = *packet_it;
830 EXPECT_EQ(1, packet_event->base_packet_event(0).event_type_size()); 831 EXPECT_EQ(1, packet_event->base_packet_event(0).event_type_size());
831 } 832 }
832 833
833 } // namespace cast 834 } // namespace cast
834 } // namespace media 835 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/common/transport_encryption_handler.h ('k') | media/cast/logging/log_deserializer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698