OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 ss << '}'; | 89 ss << '}'; |
90 ss << ", remb: " << (remb ? "on" : "off"); | 90 ss << ", remb: " << (remb ? "on" : "off"); |
91 ss << ", transport_cc: " << (transport_cc ? "on" : "off"); | 91 ss << ", transport_cc: " << (transport_cc ? "on" : "off"); |
92 ss << ", nack: {rtp_history_ms: " << nack.rtp_history_ms << '}'; | 92 ss << ", nack: {rtp_history_ms: " << nack.rtp_history_ms << '}'; |
93 ss << ", ulpfec: " << ulpfec.ToString(); | 93 ss << ", ulpfec: " << ulpfec.ToString(); |
94 ss << ", rtx_ssrc: " << rtx_ssrc; | 94 ss << ", rtx_ssrc: " << rtx_ssrc; |
95 ss << ", rtx_payload_types: {"; | 95 ss << ", rtx_payload_types: {"; |
96 for (auto& kv : rtx_payload_types) { | 96 for (auto& kv : rtx_payload_types) { |
97 ss << kv.first << " (apt) -> " << kv.second << " (pt), "; | 97 ss << kv.first << " (apt) -> " << kv.second << " (pt), "; |
98 } | 98 } |
99 ss << '}'; | 99 ss << "}}"; |
100 ss << ", extensions: ["; | |
101 for (size_t i = 0; i < extensions.size(); ++i) { | |
102 ss << extensions[i].ToString(); | |
103 if (i != extensions.size() - 1) | |
104 ss << ", "; | |
105 } | |
106 ss << ']'; | |
107 ss << '}'; | |
108 return ss.str(); | 100 return ss.str(); |
109 } | 101 } |
110 | 102 |
111 std::string VideoReceiveStream::Stats::ToString(int64_t time_ms) const { | 103 std::string VideoReceiveStream::Stats::ToString(int64_t time_ms) const { |
112 std::stringstream ss; | 104 std::stringstream ss; |
113 ss << "VideoReceiveStream stats: " << time_ms << ", {ssrc: " << ssrc << ", "; | 105 ss << "VideoReceiveStream stats: " << time_ms << ", {ssrc: " << ssrc << ", "; |
114 ss << "total_bps: " << total_bitrate_bps << ", "; | 106 ss << "total_bps: " << total_bitrate_bps << ", "; |
115 ss << "width: " << width << ", "; | 107 ss << "width: " << width << ", "; |
116 ss << "height: " << height << ", "; | 108 ss << "height: " << height << ", "; |
117 ss << "key: " << frame_counts.key_frames << ", "; | 109 ss << "key: " << frame_counts.key_frames << ", "; |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 rtp_stream_receiver_.FrameDecoded(frame->picture_id); | 475 rtp_stream_receiver_.FrameDecoded(frame->picture_id); |
484 } else { | 476 } else { |
485 LOG(LS_WARNING) << "No decodable frame in " << kMaxWaitForFrameMs | 477 LOG(LS_WARNING) << "No decodable frame in " << kMaxWaitForFrameMs |
486 << " ms, requesting keyframe."; | 478 << " ms, requesting keyframe."; |
487 RequestKeyFrame(); | 479 RequestKeyFrame(); |
488 } | 480 } |
489 return true; | 481 return true; |
490 } | 482 } |
491 } // namespace internal | 483 } // namespace internal |
492 } // namespace webrtc | 484 } // namespace webrtc |
OLD | NEW |