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

Side by Side Diff: webrtc/logging/rtc_event_log/rtc_event_log.cc

Issue 2983573002: nit: Avoid pointer-to-unique_ptr in RtcEventLogImpl (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" 11 #include "webrtc/logging/rtc_event_log/rtc_event_log.h"
12 12
13 #include <limits> 13 #include <limits>
14 #include <utility>
14 #include <vector> 15 #include <vector>
15 16
16 #include "webrtc/logging/rtc_event_log/rtc_event_log_helper_thread.h" 17 #include "webrtc/logging/rtc_event_log/rtc_event_log_helper_thread.h"
17 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ k_adaptor.h" 18 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ k_adaptor.h"
18 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" 19 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h"
19 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 20 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
20 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" 21 #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
21 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/app.h" 22 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/app.h"
22 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h" 23 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h"
23 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/common_header.h" 24 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/common_header.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 int min_probes, 91 int min_probes,
91 int min_bytes) override; 92 int min_bytes) override;
92 void LogProbeResultSuccess(int id, int bitrate_bps) override; 93 void LogProbeResultSuccess(int id, int bitrate_bps) override;
93 void LogProbeResultFailure(int id, 94 void LogProbeResultFailure(int id,
94 ProbeFailureReason failure_reason) override; 95 ProbeFailureReason failure_reason) override;
95 96
96 private: 97 private:
97 // Private constructor to ensure that creation is done by RtcEventLog::Create. 98 // Private constructor to ensure that creation is done by RtcEventLog::Create.
98 RtcEventLogImpl(); 99 RtcEventLogImpl();
99 100
100 void StoreEvent(std::unique_ptr<rtclog::Event>* event); 101 void StoreEvent(std::unique_ptr<rtclog::Event> event);
101 void LogProbeResult(int id, 102 void LogProbeResult(int id,
102 rtclog::BweProbeResult::ResultType result, 103 rtclog::BweProbeResult::ResultType result,
103 int bitrate_bps); 104 int bitrate_bps);
104 105
105 static volatile int log_count_; 106 static volatile int log_count_;
106 107
107 // Message queue for passing control messages to the logging thread. 108 // Message queue for passing control messages to the logging thread.
108 SwapQueue<RtcEventLogHelperThread::ControlMessage> message_queue_; 109 SwapQueue<RtcEventLogHelperThread::ControlMessage> message_queue_;
109 110
110 // Message queue for passing events to the logging thread. 111 // Message queue for passing events to the logging thread.
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 rtclog::DecoderConfig* decoder = receiver_config->add_decoders(); 293 rtclog::DecoderConfig* decoder = receiver_config->add_decoders();
293 decoder->set_name(d.payload_name); 294 decoder->set_name(d.payload_name);
294 decoder->set_payload_type(d.payload_type); 295 decoder->set_payload_type(d.payload_type);
295 if (d.rtx_payload_type != 0) { 296 if (d.rtx_payload_type != 0) {
296 rtclog::RtxMap* rtx = receiver_config->add_rtx_map(); 297 rtclog::RtxMap* rtx = receiver_config->add_rtx_map();
297 rtx->set_payload_type(d.payload_type); 298 rtx->set_payload_type(d.payload_type);
298 rtx->mutable_config()->set_rtx_ssrc(config.rtx_ssrc); 299 rtx->mutable_config()->set_rtx_ssrc(config.rtx_ssrc);
299 rtx->mutable_config()->set_rtx_payload_type(d.rtx_payload_type); 300 rtx->mutable_config()->set_rtx_payload_type(d.rtx_payload_type);
300 } 301 }
301 } 302 }
302 StoreEvent(&event); 303 StoreEvent(std::move(event));
303 } 304 }
304 305
305 void RtcEventLogImpl::LogVideoSendStreamConfig( 306 void RtcEventLogImpl::LogVideoSendStreamConfig(
306 const rtclog::StreamConfig& config) { 307 const rtclog::StreamConfig& config) {
307 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 308 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
308 event->set_timestamp_us(rtc::TimeMicros()); 309 event->set_timestamp_us(rtc::TimeMicros());
309 event->set_type(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT); 310 event->set_type(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT);
310 311
311 rtclog::VideoSendConfig* sender_config = event->mutable_video_sender_config(); 312 rtclog::VideoSendConfig* sender_config = event->mutable_video_sender_config();
312 313
(...skipping 18 matching lines...) Expand all
331 encoder->set_name(codec.payload_name); 332 encoder->set_name(codec.payload_name);
332 encoder->set_payload_type(codec.payload_type); 333 encoder->set_payload_type(codec.payload_type);
333 334
334 if (config.codecs.size() > 1) { 335 if (config.codecs.size() > 1) {
335 LOG(WARNING) << "LogVideoSendStreamConfig currently only supports one " 336 LOG(WARNING) << "LogVideoSendStreamConfig currently only supports one "
336 << "codec. Logging codec :" << codec.payload_name; 337 << "codec. Logging codec :" << codec.payload_name;
337 break; 338 break;
338 } 339 }
339 } 340 }
340 341
341 StoreEvent(&event); 342 StoreEvent(std::move(event));
342 } 343 }
343 344
344 void RtcEventLogImpl::LogAudioReceiveStreamConfig( 345 void RtcEventLogImpl::LogAudioReceiveStreamConfig(
345 const rtclog::StreamConfig& config) { 346 const rtclog::StreamConfig& config) {
346 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 347 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
347 event->set_timestamp_us(rtc::TimeMicros()); 348 event->set_timestamp_us(rtc::TimeMicros());
348 event->set_type(rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT); 349 event->set_type(rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT);
349 350
350 rtclog::AudioReceiveConfig* receiver_config = 351 rtclog::AudioReceiveConfig* receiver_config =
351 event->mutable_audio_receiver_config(); 352 event->mutable_audio_receiver_config();
352 receiver_config->set_remote_ssrc(config.remote_ssrc); 353 receiver_config->set_remote_ssrc(config.remote_ssrc);
353 receiver_config->set_local_ssrc(config.local_ssrc); 354 receiver_config->set_local_ssrc(config.local_ssrc);
354 355
355 for (const auto& e : config.rtp_extensions) { 356 for (const auto& e : config.rtp_extensions) {
356 rtclog::RtpHeaderExtension* extension = 357 rtclog::RtpHeaderExtension* extension =
357 receiver_config->add_header_extensions(); 358 receiver_config->add_header_extensions();
358 extension->set_name(e.uri); 359 extension->set_name(e.uri);
359 extension->set_id(e.id); 360 extension->set_id(e.id);
360 } 361 }
361 StoreEvent(&event); 362 StoreEvent(std::move(event));
362 } 363 }
363 364
364 void RtcEventLogImpl::LogAudioSendStreamConfig( 365 void RtcEventLogImpl::LogAudioSendStreamConfig(
365 const rtclog::StreamConfig& config) { 366 const rtclog::StreamConfig& config) {
366 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 367 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
367 event->set_timestamp_us(rtc::TimeMicros()); 368 event->set_timestamp_us(rtc::TimeMicros());
368 event->set_type(rtclog::Event::AUDIO_SENDER_CONFIG_EVENT); 369 event->set_type(rtclog::Event::AUDIO_SENDER_CONFIG_EVENT);
369 370
370 rtclog::AudioSendConfig* sender_config = event->mutable_audio_sender_config(); 371 rtclog::AudioSendConfig* sender_config = event->mutable_audio_sender_config();
371 372
372 sender_config->set_ssrc(config.local_ssrc); 373 sender_config->set_ssrc(config.local_ssrc);
373 374
374 for (const auto& e : config.rtp_extensions) { 375 for (const auto& e : config.rtp_extensions) {
375 rtclog::RtpHeaderExtension* extension = 376 rtclog::RtpHeaderExtension* extension =
376 sender_config->add_header_extensions(); 377 sender_config->add_header_extensions();
377 extension->set_name(e.uri); 378 extension->set_name(e.uri);
378 extension->set_id(e.id); 379 extension->set_id(e.id);
379 } 380 }
380 381
381 StoreEvent(&event); 382 StoreEvent(std::move(event));
382 } 383 }
383 384
384 void RtcEventLogImpl::LogRtpHeader(PacketDirection direction, 385 void RtcEventLogImpl::LogRtpHeader(PacketDirection direction,
385 const uint8_t* header, 386 const uint8_t* header,
386 size_t packet_length) { 387 size_t packet_length) {
387 LogRtpHeader(direction, header, packet_length, PacedPacketInfo::kNotAProbe); 388 LogRtpHeader(direction, header, packet_length, PacedPacketInfo::kNotAProbe);
388 } 389 }
389 390
390 void RtcEventLogImpl::LogRtpHeader(PacketDirection direction, 391 void RtcEventLogImpl::LogRtpHeader(PacketDirection direction,
391 const uint8_t* header, 392 const uint8_t* header,
(...skipping 16 matching lines...) Expand all
408 } 409 }
409 410
410 std::unique_ptr<rtclog::Event> rtp_event(new rtclog::Event()); 411 std::unique_ptr<rtclog::Event> rtp_event(new rtclog::Event());
411 rtp_event->set_timestamp_us(rtc::TimeMicros()); 412 rtp_event->set_timestamp_us(rtc::TimeMicros());
412 rtp_event->set_type(rtclog::Event::RTP_EVENT); 413 rtp_event->set_type(rtclog::Event::RTP_EVENT);
413 rtp_event->mutable_rtp_packet()->set_incoming(direction == kIncomingPacket); 414 rtp_event->mutable_rtp_packet()->set_incoming(direction == kIncomingPacket);
414 rtp_event->mutable_rtp_packet()->set_packet_length(packet_length); 415 rtp_event->mutable_rtp_packet()->set_packet_length(packet_length);
415 rtp_event->mutable_rtp_packet()->set_header(header, header_length); 416 rtp_event->mutable_rtp_packet()->set_header(header, header_length);
416 if (probe_cluster_id != PacedPacketInfo::kNotAProbe) 417 if (probe_cluster_id != PacedPacketInfo::kNotAProbe)
417 rtp_event->mutable_rtp_packet()->set_probe_cluster_id(probe_cluster_id); 418 rtp_event->mutable_rtp_packet()->set_probe_cluster_id(probe_cluster_id);
418 StoreEvent(&rtp_event); 419 StoreEvent(std::move(rtp_event));
419 } 420 }
420 421
421 void RtcEventLogImpl::LogRtcpPacket(PacketDirection direction, 422 void RtcEventLogImpl::LogRtcpPacket(PacketDirection direction,
422 const uint8_t* packet, 423 const uint8_t* packet,
423 size_t length) { 424 size_t length) {
424 std::unique_ptr<rtclog::Event> rtcp_event(new rtclog::Event()); 425 std::unique_ptr<rtclog::Event> rtcp_event(new rtclog::Event());
425 rtcp_event->set_timestamp_us(rtc::TimeMicros()); 426 rtcp_event->set_timestamp_us(rtc::TimeMicros());
426 rtcp_event->set_type(rtclog::Event::RTCP_EVENT); 427 rtcp_event->set_type(rtclog::Event::RTCP_EVENT);
427 rtcp_event->mutable_rtcp_packet()->set_incoming(direction == kIncomingPacket); 428 rtcp_event->mutable_rtcp_packet()->set_incoming(direction == kIncomingPacket);
428 429
(...skipping 27 matching lines...) Expand all
456 case rtcp::App::kPacketType: 457 case rtcp::App::kPacketType:
457 default: 458 default:
458 // We don't log sender descriptions, application defined messages 459 // We don't log sender descriptions, application defined messages
459 // or message blocks of unknown type. 460 // or message blocks of unknown type.
460 break; 461 break;
461 } 462 }
462 463
463 block_begin += block_size; 464 block_begin += block_size;
464 } 465 }
465 rtcp_event->mutable_rtcp_packet()->set_packet_data(buffer, buffer_length); 466 rtcp_event->mutable_rtcp_packet()->set_packet_data(buffer, buffer_length);
466 StoreEvent(&rtcp_event); 467 StoreEvent(std::move(rtcp_event));
467 } 468 }
468 469
469 void RtcEventLogImpl::LogAudioPlayout(uint32_t ssrc) { 470 void RtcEventLogImpl::LogAudioPlayout(uint32_t ssrc) {
470 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 471 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
471 event->set_timestamp_us(rtc::TimeMicros()); 472 event->set_timestamp_us(rtc::TimeMicros());
472 event->set_type(rtclog::Event::AUDIO_PLAYOUT_EVENT); 473 event->set_type(rtclog::Event::AUDIO_PLAYOUT_EVENT);
473 auto playout_event = event->mutable_audio_playout_event(); 474 auto playout_event = event->mutable_audio_playout_event();
474 playout_event->set_local_ssrc(ssrc); 475 playout_event->set_local_ssrc(ssrc);
475 StoreEvent(&event); 476 StoreEvent(std::move(event));
476 } 477 }
477 478
478 void RtcEventLogImpl::LogLossBasedBweUpdate(int32_t bitrate_bps, 479 void RtcEventLogImpl::LogLossBasedBweUpdate(int32_t bitrate_bps,
479 uint8_t fraction_loss, 480 uint8_t fraction_loss,
480 int32_t total_packets) { 481 int32_t total_packets) {
481 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 482 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
482 event->set_timestamp_us(rtc::TimeMicros()); 483 event->set_timestamp_us(rtc::TimeMicros());
483 event->set_type(rtclog::Event::LOSS_BASED_BWE_UPDATE); 484 event->set_type(rtclog::Event::LOSS_BASED_BWE_UPDATE);
484 auto bwe_event = event->mutable_loss_based_bwe_update(); 485 auto bwe_event = event->mutable_loss_based_bwe_update();
485 bwe_event->set_bitrate_bps(bitrate_bps); 486 bwe_event->set_bitrate_bps(bitrate_bps);
486 bwe_event->set_fraction_loss(fraction_loss); 487 bwe_event->set_fraction_loss(fraction_loss);
487 bwe_event->set_total_packets(total_packets); 488 bwe_event->set_total_packets(total_packets);
488 StoreEvent(&event); 489 StoreEvent(std::move(event));
489 } 490 }
490 491
491 void RtcEventLogImpl::LogDelayBasedBweUpdate(int32_t bitrate_bps, 492 void RtcEventLogImpl::LogDelayBasedBweUpdate(int32_t bitrate_bps,
492 BandwidthUsage detector_state) { 493 BandwidthUsage detector_state) {
493 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 494 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
494 event->set_timestamp_us(rtc::TimeMicros()); 495 event->set_timestamp_us(rtc::TimeMicros());
495 event->set_type(rtclog::Event::DELAY_BASED_BWE_UPDATE); 496 event->set_type(rtclog::Event::DELAY_BASED_BWE_UPDATE);
496 auto bwe_event = event->mutable_delay_based_bwe_update(); 497 auto bwe_event = event->mutable_delay_based_bwe_update();
497 bwe_event->set_bitrate_bps(bitrate_bps); 498 bwe_event->set_bitrate_bps(bitrate_bps);
498 bwe_event->set_detector_state(ConvertDetectorState(detector_state)); 499 bwe_event->set_detector_state(ConvertDetectorState(detector_state));
499 StoreEvent(&event); 500 StoreEvent(std::move(event));
500 } 501 }
501 502
502 void RtcEventLogImpl::LogAudioNetworkAdaptation( 503 void RtcEventLogImpl::LogAudioNetworkAdaptation(
503 const AudioEncoderRuntimeConfig& config) { 504 const AudioEncoderRuntimeConfig& config) {
504 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 505 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
505 event->set_timestamp_us(rtc::TimeMicros()); 506 event->set_timestamp_us(rtc::TimeMicros());
506 event->set_type(rtclog::Event::AUDIO_NETWORK_ADAPTATION_EVENT); 507 event->set_type(rtclog::Event::AUDIO_NETWORK_ADAPTATION_EVENT);
507 auto audio_network_adaptation = event->mutable_audio_network_adaptation(); 508 auto audio_network_adaptation = event->mutable_audio_network_adaptation();
508 if (config.bitrate_bps) 509 if (config.bitrate_bps)
509 audio_network_adaptation->set_bitrate_bps(*config.bitrate_bps); 510 audio_network_adaptation->set_bitrate_bps(*config.bitrate_bps);
510 if (config.frame_length_ms) 511 if (config.frame_length_ms)
511 audio_network_adaptation->set_frame_length_ms(*config.frame_length_ms); 512 audio_network_adaptation->set_frame_length_ms(*config.frame_length_ms);
512 if (config.uplink_packet_loss_fraction) { 513 if (config.uplink_packet_loss_fraction) {
513 audio_network_adaptation->set_uplink_packet_loss_fraction( 514 audio_network_adaptation->set_uplink_packet_loss_fraction(
514 *config.uplink_packet_loss_fraction); 515 *config.uplink_packet_loss_fraction);
515 } 516 }
516 if (config.enable_fec) 517 if (config.enable_fec)
517 audio_network_adaptation->set_enable_fec(*config.enable_fec); 518 audio_network_adaptation->set_enable_fec(*config.enable_fec);
518 if (config.enable_dtx) 519 if (config.enable_dtx)
519 audio_network_adaptation->set_enable_dtx(*config.enable_dtx); 520 audio_network_adaptation->set_enable_dtx(*config.enable_dtx);
520 if (config.num_channels) 521 if (config.num_channels)
521 audio_network_adaptation->set_num_channels(*config.num_channels); 522 audio_network_adaptation->set_num_channels(*config.num_channels);
522 StoreEvent(&event); 523 StoreEvent(std::move(event));
523 } 524 }
524 525
525 void RtcEventLogImpl::LogProbeClusterCreated(int id, 526 void RtcEventLogImpl::LogProbeClusterCreated(int id,
526 int bitrate_bps, 527 int bitrate_bps,
527 int min_probes, 528 int min_probes,
528 int min_bytes) { 529 int min_bytes) {
529 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 530 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
530 event->set_timestamp_us(rtc::TimeMicros()); 531 event->set_timestamp_us(rtc::TimeMicros());
531 event->set_type(rtclog::Event::BWE_PROBE_CLUSTER_CREATED_EVENT); 532 event->set_type(rtclog::Event::BWE_PROBE_CLUSTER_CREATED_EVENT);
532 533
533 auto probe_cluster = event->mutable_probe_cluster(); 534 auto probe_cluster = event->mutable_probe_cluster();
534 probe_cluster->set_id(id); 535 probe_cluster->set_id(id);
535 probe_cluster->set_bitrate_bps(bitrate_bps); 536 probe_cluster->set_bitrate_bps(bitrate_bps);
536 probe_cluster->set_min_packets(min_probes); 537 probe_cluster->set_min_packets(min_probes);
537 probe_cluster->set_min_bytes(min_bytes); 538 probe_cluster->set_min_bytes(min_bytes);
538 StoreEvent(&event); 539 StoreEvent(std::move(event));
539 } 540 }
540 541
541 void RtcEventLogImpl::LogProbeResultSuccess(int id, int bitrate_bps) { 542 void RtcEventLogImpl::LogProbeResultSuccess(int id, int bitrate_bps) {
542 LogProbeResult(id, rtclog::BweProbeResult::SUCCESS, bitrate_bps); 543 LogProbeResult(id, rtclog::BweProbeResult::SUCCESS, bitrate_bps);
543 } 544 }
544 545
545 void RtcEventLogImpl::LogProbeResultFailure(int id, 546 void RtcEventLogImpl::LogProbeResultFailure(int id,
546 ProbeFailureReason failure_reason) { 547 ProbeFailureReason failure_reason) {
547 rtclog::BweProbeResult::ResultType result = 548 rtclog::BweProbeResult::ResultType result =
548 ConvertProbeResultType(failure_reason); 549 ConvertProbeResultType(failure_reason);
549 LogProbeResult(id, result, -1); 550 LogProbeResult(id, result, -1);
550 } 551 }
551 552
552 void RtcEventLogImpl::LogProbeResult(int id, 553 void RtcEventLogImpl::LogProbeResult(int id,
553 rtclog::BweProbeResult::ResultType result, 554 rtclog::BweProbeResult::ResultType result,
554 int bitrate_bps) { 555 int bitrate_bps) {
555 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); 556 std::unique_ptr<rtclog::Event> event(new rtclog::Event());
556 event->set_timestamp_us(rtc::TimeMicros()); 557 event->set_timestamp_us(rtc::TimeMicros());
557 event->set_type(rtclog::Event::BWE_PROBE_RESULT_EVENT); 558 event->set_type(rtclog::Event::BWE_PROBE_RESULT_EVENT);
558 559
559 auto probe_result = event->mutable_probe_result(); 560 auto probe_result = event->mutable_probe_result();
560 probe_result->set_id(id); 561 probe_result->set_id(id);
561 probe_result->set_result(result); 562 probe_result->set_result(result);
562 if (result == rtclog::BweProbeResult::SUCCESS) 563 if (result == rtclog::BweProbeResult::SUCCESS)
563 probe_result->set_bitrate_bps(bitrate_bps); 564 probe_result->set_bitrate_bps(bitrate_bps);
564 StoreEvent(&event); 565 StoreEvent(std::move(event));
565 } 566 }
566 567
567 void RtcEventLogImpl::StoreEvent(std::unique_ptr<rtclog::Event>* event) { 568 void RtcEventLogImpl::StoreEvent(std::unique_ptr<rtclog::Event> event) {
568 RTC_DCHECK(event != nullptr); 569 RTC_DCHECK(event.get() != nullptr);
569 RTC_DCHECK(event->get() != nullptr); 570 if (!event_queue_.Insert(&event)) {
570 if (!event_queue_.Insert(event)) {
571 LOG(LS_ERROR) << "WebRTC event log queue full. Dropping event."; 571 LOG(LS_ERROR) << "WebRTC event log queue full. Dropping event.";
572 } 572 }
573 helper_thread_.SignalNewEvent(); 573 helper_thread_.SignalNewEvent();
574 } 574 }
575 575
576 bool RtcEventLog::ParseRtcEventLog(const std::string& file_name, 576 bool RtcEventLog::ParseRtcEventLog(const std::string& file_name,
577 rtclog::EventStream* result) { 577 rtclog::EventStream* result) {
578 char tmp_buffer[1024]; 578 char tmp_buffer[1024];
579 int bytes_read = 0; 579 int bytes_read = 0;
580 std::unique_ptr<FileWrapper> dump_file(FileWrapper::Create()); 580 std::unique_ptr<FileWrapper> dump_file(FileWrapper::Create());
(...skipping 25 matching lines...) Expand all
606 #else 606 #else
607 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl()); 607 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl());
608 #endif // ENABLE_RTC_EVENT_LOG 608 #endif // ENABLE_RTC_EVENT_LOG
609 } 609 }
610 610
611 std::unique_ptr<RtcEventLog> RtcEventLog::CreateNull() { 611 std::unique_ptr<RtcEventLog> RtcEventLog::CreateNull() {
612 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl()); 612 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl());
613 } 613 }
614 614
615 } // namespace webrtc 615 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698