| 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 |