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 // This is the main interface for the cast transport sender. It accepts encoded | 5 // This is the main interface for the cast transport sender. It accepts encoded |
6 // frames (both audio and video), encrypts their encoded data, packetizes them | 6 // frames (both audio and video), encrypts their encoded data, packetizes them |
7 // and feeds them into a transport (e.g., UDP). | 7 // and feeds them into a transport (e.g., UDP). |
8 | 8 |
9 // Construction of the Cast Sender and the Cast Transport Sender should be done | 9 // Construction of the Cast Sender and the Cast Transport Sender should be done |
10 // in the following order: | 10 // in the following order: |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 uint32 rtp_timestamp, | 89 uint32 rtp_timestamp, |
90 const RtcpDlrrReportBlock& dlrr, | 90 const RtcpDlrrReportBlock& dlrr, |
91 uint32 sending_ssrc, | 91 uint32 sending_ssrc, |
92 const std::string& c_name) = 0; | 92 const std::string& c_name) = 0; |
93 | 93 |
94 // Retransmission request. | 94 // Retransmission request. |
95 // |missing_packets| includes the list of frames and packets in each | 95 // |missing_packets| includes the list of frames and packets in each |
96 // frame to be re-transmitted. | 96 // frame to be re-transmitted. |
97 // If |cancel_rtx_if_not_in_list| is used as an optimization to cancel | 97 // If |cancel_rtx_if_not_in_list| is used as an optimization to cancel |
98 // pending re-transmission requests of packets not listed in | 98 // pending re-transmission requests of packets not listed in |
99 // |missing_packets|. | 99 // |missing_packets|. If the requested packet(s) were sent recently |
| 100 // (how long is specified by |dedupe_window|) then this re-transmit |
| 101 // will be ignored. |
100 virtual void ResendPackets( | 102 virtual void ResendPackets( |
101 bool is_audio, | 103 bool is_audio, |
102 const MissingFramesAndPacketsMap& missing_packets, | 104 const MissingFramesAndPacketsMap& missing_packets, |
103 bool cancel_rtx_if_not_in_list) = 0; | 105 bool cancel_rtx_if_not_in_list, |
| 106 base::TimeDelta dedupe_window) = 0; |
104 }; | 107 }; |
105 | 108 |
106 } // namespace transport | 109 } // namespace transport |
107 } // namespace cast | 110 } // namespace cast |
108 } // namespace media | 111 } // namespace media |
109 | 112 |
110 #endif // MEDIA_CAST_TRANSPORT_CAST_TRANSPORT_SENDER_H_ | 113 #endif // MEDIA_CAST_TRANSPORT_CAST_TRANSPORT_SENDER_H_ |
OLD | NEW |