OLD | NEW |
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 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 class RtcEventLogImpl final : public RtcEventLog { | 55 class RtcEventLogImpl final : public RtcEventLog { |
56 public: | 56 public: |
57 RtcEventLogImpl(); | 57 RtcEventLogImpl(); |
58 ~RtcEventLogImpl() override; | 58 ~RtcEventLogImpl() override; |
59 | 59 |
60 bool StartLogging(const std::string& file_name, | 60 bool StartLogging(const std::string& file_name, |
61 int64_t max_size_bytes) override; | 61 int64_t max_size_bytes) override; |
62 bool StartLogging(rtc::PlatformFile platform_file, | 62 bool StartLogging(rtc::PlatformFile platform_file, |
63 int64_t max_size_bytes) override; | 63 int64_t max_size_bytes) override; |
64 void StopLogging() override; | 64 void StopLogging() override; |
65 void LogVideoReceiveStreamConfig( | 65 void LogVideoReceiveStreamConfig(const rtclog::StreamConfig& config) override; |
66 const VideoReceiveStream::Config& config) override; | |
67 void LogVideoSendStreamConfig(const VideoSendStream::Config& config) override; | 66 void LogVideoSendStreamConfig(const VideoSendStream::Config& config) override; |
68 void LogAudioReceiveStreamConfig( | 67 void LogAudioReceiveStreamConfig( |
69 const AudioReceiveStream::Config& config) override; | 68 const AudioReceiveStream::Config& config) override; |
70 void LogAudioSendStreamConfig(const AudioSendStream::Config& config) override; | 69 void LogAudioSendStreamConfig(const AudioSendStream::Config& config) override; |
71 void LogRtpHeader(PacketDirection direction, | 70 void LogRtpHeader(PacketDirection direction, |
72 MediaType media_type, | 71 MediaType media_type, |
73 const uint8_t* header, | 72 const uint8_t* header, |
74 size_t packet_length) override; | 73 size_t packet_length) override; |
75 void LogRtpHeader(PacketDirection direction, | 74 void LogRtpHeader(PacketDirection direction, |
76 MediaType media_type, | 75 MediaType media_type, |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 // time, we require that all calls to StopLogging are made on the same | 269 // time, we require that all calls to StopLogging are made on the same |
271 // thread. | 270 // thread. |
272 LOG(LS_ERROR) << "Message queue full. Clearing queue to stop logging."; | 271 LOG(LS_ERROR) << "Message queue full. Clearing queue to stop logging."; |
273 message_queue_.Clear(); | 272 message_queue_.Clear(); |
274 } | 273 } |
275 LOG(LS_INFO) << "Stopping WebRTC event log."; | 274 LOG(LS_INFO) << "Stopping WebRTC event log."; |
276 helper_thread_.WaitForFileFinished(); | 275 helper_thread_.WaitForFileFinished(); |
277 } | 276 } |
278 | 277 |
279 void RtcEventLogImpl::LogVideoReceiveStreamConfig( | 278 void RtcEventLogImpl::LogVideoReceiveStreamConfig( |
280 const VideoReceiveStream::Config& config) { | 279 const rtclog::StreamConfig& config) { |
281 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); | 280 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); |
282 event->set_timestamp_us(rtc::TimeMicros()); | 281 event->set_timestamp_us(rtc::TimeMicros()); |
283 event->set_type(rtclog::Event::VIDEO_RECEIVER_CONFIG_EVENT); | 282 event->set_type(rtclog::Event::VIDEO_RECEIVER_CONFIG_EVENT); |
284 | 283 |
285 rtclog::VideoReceiveConfig* receiver_config = | 284 rtclog::VideoReceiveConfig* receiver_config = |
286 event->mutable_video_receiver_config(); | 285 event->mutable_video_receiver_config(); |
287 receiver_config->set_remote_ssrc(config.rtp.remote_ssrc); | 286 receiver_config->set_remote_ssrc(config.remote_ssrc); |
288 receiver_config->set_local_ssrc(config.rtp.local_ssrc); | 287 receiver_config->set_local_ssrc(config.local_ssrc); |
289 | 288 |
290 receiver_config->set_rtcp_mode(ConvertRtcpMode(config.rtp.rtcp_mode)); | 289 // TODO(perkj): Add field for rsid. |
291 receiver_config->set_remb(config.rtp.remb); | 290 receiver_config->set_rtcp_mode(ConvertRtcpMode(config.rtcp_mode)); |
| 291 receiver_config->set_remb(config.remb); |
292 | 292 |
293 for (const auto& kv : config.rtp.rtx_payload_types) { | 293 for (const auto& e : config.rtp_extensions) { |
294 rtclog::RtxMap* rtx = receiver_config->add_rtx_map(); | |
295 rtx->set_payload_type(kv.first); | |
296 rtx->mutable_config()->set_rtx_ssrc(config.rtp.rtx_ssrc); | |
297 rtx->mutable_config()->set_rtx_payload_type(kv.second); | |
298 } | |
299 | |
300 for (const auto& e : config.rtp.extensions) { | |
301 rtclog::RtpHeaderExtension* extension = | 294 rtclog::RtpHeaderExtension* extension = |
302 receiver_config->add_header_extensions(); | 295 receiver_config->add_header_extensions(); |
303 extension->set_name(e.uri); | 296 extension->set_name(e.uri); |
304 extension->set_id(e.id); | 297 extension->set_id(e.id); |
305 } | 298 } |
306 | 299 |
307 for (const auto& d : config.decoders) { | 300 for (const auto& d : config.codecs) { |
308 rtclog::DecoderConfig* decoder = receiver_config->add_decoders(); | 301 rtclog::DecoderConfig* decoder = receiver_config->add_decoders(); |
309 decoder->set_name(d.payload_name); | 302 decoder->set_name(d.payload_name); |
310 decoder->set_payload_type(d.payload_type); | 303 decoder->set_payload_type(d.payload_type); |
| 304 if (d.rtx_payload_type != 0) { |
| 305 rtclog::RtxMap* rtx = receiver_config->add_rtx_map(); |
| 306 rtx->set_payload_type(d.payload_type); |
| 307 rtx->mutable_config()->set_rtx_ssrc(config.rtx_ssrc); |
| 308 rtx->mutable_config()->set_rtx_payload_type(d.rtx_payload_type); |
| 309 } |
311 } | 310 } |
312 StoreEvent(&event); | 311 StoreEvent(&event); |
313 } | 312 } |
314 | 313 |
315 void RtcEventLogImpl::LogVideoSendStreamConfig( | 314 void RtcEventLogImpl::LogVideoSendStreamConfig( |
316 const VideoSendStream::Config& config) { | 315 const VideoSendStream::Config& config) { |
317 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); | 316 std::unique_ptr<rtclog::Event> event(new rtclog::Event()); |
318 event->set_timestamp_us(rtc::TimeMicros()); | 317 event->set_timestamp_us(rtc::TimeMicros()); |
319 event->set_type(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT); | 318 event->set_type(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT); |
320 | 319 |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
614 #else | 613 #else |
615 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl()); | 614 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl()); |
616 #endif // ENABLE_RTC_EVENT_LOG | 615 #endif // ENABLE_RTC_EVENT_LOG |
617 } | 616 } |
618 | 617 |
619 std::unique_ptr<RtcEventLog> RtcEventLog::CreateNull() { | 618 std::unique_ptr<RtcEventLog> RtcEventLog::CreateNull() { |
620 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl()); | 619 return std::unique_ptr<RtcEventLog>(new RtcEventLogNullImpl()); |
621 } | 620 } |
622 | 621 |
623 } // namespace webrtc | 622 } // namespace webrtc |
OLD | NEW |