| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MEDIA_CAST_RTCP_RTCP_H_ | 5 #ifndef MEDIA_CAST_RTCP_RTCP_H_ |
| 6 #define MEDIA_CAST_RTCP_RTCP_H_ | 6 #define MEDIA_CAST_RTCP_RTCP_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <queue> | 10 #include <queue> |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #include "media/cast/transport/cast_transport_defines.h" | 22 #include "media/cast/transport/cast_transport_defines.h" |
| 23 #include "media/cast/transport/cast_transport_sender.h" | 23 #include "media/cast/transport/cast_transport_sender.h" |
| 24 #include "media/cast/transport/pacing/paced_sender.h" | 24 #include "media/cast/transport/pacing/paced_sender.h" |
| 25 | 25 |
| 26 namespace media { | 26 namespace media { |
| 27 namespace cast { | 27 namespace cast { |
| 28 | 28 |
| 29 class LocalRtcpReceiverFeedback; | 29 class LocalRtcpReceiverFeedback; |
| 30 class LocalRtcpRttFeedback; | 30 class LocalRtcpRttFeedback; |
| 31 class PacedPacketSender; | 31 class PacedPacketSender; |
| 32 class ReceiverRtcpEventSubscriber; |
| 32 class RtcpReceiver; | 33 class RtcpReceiver; |
| 33 class RtcpSender; | 34 class RtcpSender; |
| 34 | 35 |
| 35 typedef std::pair<uint32, base::TimeTicks> RtcpSendTimePair; | 36 typedef std::pair<uint32, base::TimeTicks> RtcpSendTimePair; |
| 36 typedef std::map<uint32, base::TimeTicks> RtcpSendTimeMap; | 37 typedef std::map<uint32, base::TimeTicks> RtcpSendTimeMap; |
| 37 typedef std::queue<RtcpSendTimePair> RtcpSendTimeQueue; | 38 typedef std::queue<RtcpSendTimePair> RtcpSendTimeQueue; |
| 38 | 39 |
| 39 class RtcpSenderFeedback { | 40 class RtcpSenderFeedback { |
| 40 public: | 41 public: |
| 41 virtual void OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback) = 0; | 42 virtual void OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback) = 0; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 base::TimeTicks TimeToSendNextRtcpReport(); | 88 base::TimeTicks TimeToSendNextRtcpReport(); |
| 88 // |sender_log_message| is optional; without it no log messages will be | 89 // |sender_log_message| is optional; without it no log messages will be |
| 89 // attached to the RTCP report; instead a normal RTCP send report will be | 90 // attached to the RTCP report; instead a normal RTCP send report will be |
| 90 // sent. | 91 // sent. |
| 91 // Additionally if all messages in |sender_log_message| does | 92 // Additionally if all messages in |sender_log_message| does |
| 92 // not fit in the packet the |sender_log_message| will contain the remaining | 93 // not fit in the packet the |sender_log_message| will contain the remaining |
| 93 // unsent messages. | 94 // unsent messages. |
| 94 void SendRtcpFromRtpSender( | 95 void SendRtcpFromRtpSender( |
| 95 const transport::RtcpSenderLogMessage& sender_log_message); | 96 const transport::RtcpSenderLogMessage& sender_log_message); |
| 96 | 97 |
| 97 // |cast_message| and |receiver_log| is optional; if |cast_message| is | 98 // |cast_message| and |event_subscriber| is optional; if |cast_message| is |
| 98 // provided the RTCP receiver report will append a Cast message containing | 99 // provided the RTCP receiver report will append a Cast message containing |
| 99 // Acks and Nacks; if |receiver_log| is provided the RTCP receiver report will | 100 // Acks and Nacks; if |event_subscriber| is provided the RTCP receiver report |
| 100 // append the log messages. If no argument is set a normal RTCP receiver | 101 // will append the log messages from the subscriber. |
| 101 // report will be sent. Additionally if all messages in |receiver_log| does | |
| 102 // not fit in the packet the |receiver_log| will contain the remaining unsent | |
| 103 // messages. | |
| 104 void SendRtcpFromRtpReceiver(const RtcpCastMessage* cast_message, | 102 void SendRtcpFromRtpReceiver(const RtcpCastMessage* cast_message, |
| 105 RtcpReceiverLogMessage* receiver_log); | 103 ReceiverRtcpEventSubscriber* event_subscriber); |
| 106 | 104 |
| 107 void IncomingRtcpPacket(const uint8* rtcp_buffer, size_t length); | 105 void IncomingRtcpPacket(const uint8* rtcp_buffer, size_t length); |
| 108 bool Rtt(base::TimeDelta* rtt, | 106 bool Rtt(base::TimeDelta* rtt, |
| 109 base::TimeDelta* avg_rtt, | 107 base::TimeDelta* avg_rtt, |
| 110 base::TimeDelta* min_rtt, | 108 base::TimeDelta* min_rtt, |
| 111 base::TimeDelta* max_rtt) const; | 109 base::TimeDelta* max_rtt) const; |
| 112 bool RtpTimestampInSenderTime(int frequency, | 110 bool RtpTimestampInSenderTime(int frequency, |
| 113 uint32 rtp_timestamp, | 111 uint32 rtp_timestamp, |
| 114 base::TimeTicks* rtp_timestamp_in_ticks) const; | 112 base::TimeTicks* rtp_timestamp_in_ticks) const; |
| 115 | 113 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 int number_of_rtt_in_avg_; | 185 int number_of_rtt_in_avg_; |
| 188 float avg_rtt_ms_; | 186 float avg_rtt_ms_; |
| 189 | 187 |
| 190 DISALLOW_COPY_AND_ASSIGN(Rtcp); | 188 DISALLOW_COPY_AND_ASSIGN(Rtcp); |
| 191 }; | 189 }; |
| 192 | 190 |
| 193 } // namespace cast | 191 } // namespace cast |
| 194 } // namespace media | 192 } // namespace media |
| 195 | 193 |
| 196 #endif // MEDIA_CAST_RTCP_RTCP_H_ | 194 #endif // MEDIA_CAST_RTCP_RTCP_H_ |
| OLD | NEW |