Chromium Code Reviews| Index: webrtc/logging/rtc_event_log/rtc_event_log.cc |
| diff --git a/webrtc/logging/rtc_event_log/rtc_event_log.cc b/webrtc/logging/rtc_event_log/rtc_event_log.cc |
| index 976ff2321c08106dcea319a19c63f50619ebb0af..2174352ff0c65a791f341e501b215a3fb097c3ee 100644 |
| --- a/webrtc/logging/rtc_event_log/rtc_event_log.cc |
| +++ b/webrtc/logging/rtc_event_log/rtc_event_log.cc |
| @@ -77,6 +77,12 @@ class RtcEventLogImpl final : public RtcEventLog { |
| void LogBwePacketLossEvent(int32_t bitrate, |
| uint8_t fraction_loss, |
| int32_t total_packets) override; |
| + void LogAnaDecisionEvent(rtc::Optional<int> bitrate_bps, |
| + rtc::Optional<int> frame_length_ms, |
| + rtc::Optional<float> uplink_packet_loss_fraction, |
| + rtc::Optional<bool> enable_fec, |
| + rtc::Optional<bool> enable_dtx, |
| + rtc::Optional<size_t> num_channels) override; |
| private: |
| void StoreEvent(std::unique_ptr<rtclog::Event>* event); |
| @@ -437,6 +443,32 @@ void RtcEventLogImpl::LogBwePacketLossEvent(int32_t bitrate, |
| StoreEvent(&event); |
| } |
| +void RtcEventLogImpl::LogAnaDecisionEvent( |
| + rtc::Optional<int> bitrate_bps, |
|
minyue-webrtc
2016/12/13 16:02:16
can we even pass an ana_event to this function? Ba
|
| + rtc::Optional<int> frame_length_ms, |
| + rtc::Optional<float> uplink_packet_loss_fraction, |
| + rtc::Optional<bool> enable_fec, |
| + rtc::Optional<bool> enable_dtx, |
| + rtc::Optional<size_t> num_channels) { |
| + std::unique_ptr<rtclog::Event> event(new rtclog::Event()); |
| + event->set_timestamp_us(clock_->TimeInMicroseconds()); |
| + event->set_type(rtclog::Event::AUDIO_NETWORK_ADAPTOR_EVENT); |
| + auto ana_event = event->mutable_encoder_runtime_config(); |
| + if (bitrate_bps) |
| + ana_event->set_bitrate_bps(*bitrate_bps); |
| + if (frame_length_ms) |
| + ana_event->set_frame_length_ms(*frame_length_ms); |
| + if (uplink_packet_loss_fraction) |
| + ana_event->set_uplink_packet_loss_fraction(*uplink_packet_loss_fraction); |
| + if (enable_fec) |
| + ana_event->set_enable_fec(*enable_fec); |
| + if (enable_dtx) |
| + ana_event->set_enable_dtx(*enable_dtx); |
| + if (num_channels) |
| + ana_event->set_num_channels(*num_channels); |
| + StoreEvent(&event); |
| +} |
| + |
| void RtcEventLogImpl::StoreEvent(std::unique_ptr<rtclog::Event>* event) { |
| if (!event_queue_.Insert(event)) { |
| LOG(LS_ERROR) << "WebRTC event log queue full. Dropping event."; |