| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 base class for an object that send frames to a receiver. | 5 // This is the base class for an object that send frames to a receiver. |
| 6 // TODO(hclam): Refactor such that there is no separate AudioSender vs. | 6 // TODO(hclam): Refactor such that there is no separate AudioSender vs. |
| 7 // VideoSender, and the functionality of both is rolled into this class. | 7 // VideoSender, and the functionality of both is rolled into this class. |
| 8 | 8 |
| 9 #ifndef MEDIA_CAST_SENDER_FRAME_SENDER_H_ | 9 #ifndef MEDIA_CAST_SENDER_FRAME_SENDER_H_ |
| 10 #define MEDIA_CAST_SENDER_FRAME_SENDER_H_ | 10 #define MEDIA_CAST_SENDER_FRAME_SENDER_H_ |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 base::TimeDelta target_playout_delay_; | 118 base::TimeDelta target_playout_delay_; |
| 119 base::TimeDelta min_playout_delay_; | 119 base::TimeDelta min_playout_delay_; |
| 120 base::TimeDelta max_playout_delay_; | 120 base::TimeDelta max_playout_delay_; |
| 121 | 121 |
| 122 // If true, we transmit the target playout delay to the receiver. | 122 // If true, we transmit the target playout delay to the receiver. |
| 123 bool send_target_playout_delay_; | 123 bool send_target_playout_delay_; |
| 124 | 124 |
| 125 // Max encoded frames generated per second. | 125 // Max encoded frames generated per second. |
| 126 double max_frame_rate_; | 126 double max_frame_rate_; |
| 127 | 127 |
| 128 // Maximum number of outstanding frames before the encoding and sending of | |
| 129 // new frames shall halt. | |
| 130 int max_unacked_frames_; | |
| 131 | |
| 132 // Counts how many RTCP reports are being "aggressively" sent (i.e., one per | 128 // Counts how many RTCP reports are being "aggressively" sent (i.e., one per |
| 133 // frame) at the start of the session. Once a threshold is reached, RTCP | 129 // frame) at the start of the session. Once a threshold is reached, RTCP |
| 134 // reports are instead sent at the configured interval + random drift. | 130 // reports are instead sent at the configured interval + random drift. |
| 135 int num_aggressive_rtcp_reports_sent_; | 131 int num_aggressive_rtcp_reports_sent_; |
| 136 | 132 |
| 137 // This is "null" until the first frame is sent. Thereafter, this tracks the | 133 // This is "null" until the first frame is sent. Thereafter, this tracks the |
| 138 // last time any frame was sent or re-sent. | 134 // last time any frame was sent or re-sent. |
| 139 base::TimeTicks last_send_time_; | 135 base::TimeTicks last_send_time_; |
| 140 | 136 |
| 141 // The ID of the last frame sent. Logic throughout FrameSender assumes this | 137 // The ID of the last frame sent. Logic throughout FrameSender assumes this |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 // NOTE: Weak pointers must be invalidated before all other member variables. | 180 // NOTE: Weak pointers must be invalidated before all other member variables. |
| 185 base::WeakPtrFactory<FrameSender> weak_factory_; | 181 base::WeakPtrFactory<FrameSender> weak_factory_; |
| 186 | 182 |
| 187 DISALLOW_COPY_AND_ASSIGN(FrameSender); | 183 DISALLOW_COPY_AND_ASSIGN(FrameSender); |
| 188 }; | 184 }; |
| 189 | 185 |
| 190 } // namespace cast | 186 } // namespace cast |
| 191 } // namespace media | 187 } // namespace media |
| 192 | 188 |
| 193 #endif // MEDIA_CAST_SENDER_FRAME_SENDER_H_ | 189 #endif // MEDIA_CAST_SENDER_FRAME_SENDER_H_ |
| OLD | NEW |