OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 | 119 |
120 rtc::CriticalSection crit_; | 120 rtc::CriticalSection crit_; |
121 | 121 |
122 // Buffer size_ and max_size_ must always be a power of two. | 122 // Buffer size_ and max_size_ must always be a power of two. |
123 size_t size_ GUARDED_BY(crit_); | 123 size_t size_ GUARDED_BY(crit_); |
124 const size_t max_size_; | 124 const size_t max_size_; |
125 | 125 |
126 // The fist sequence number currently in the buffer. | 126 // The fist sequence number currently in the buffer. |
127 uint16_t first_seq_num_ GUARDED_BY(crit_); | 127 uint16_t first_seq_num_ GUARDED_BY(crit_); |
128 | 128 |
129 // The last sequence number currently in the buffer. | |
130 uint16_t last_seq_num_ GUARDED_BY(crit_); | |
131 | |
132 // If the packet buffer has received its first packet. | 129 // If the packet buffer has received its first packet. |
133 bool first_packet_received_ GUARDED_BY(crit_); | 130 bool first_packet_received_ GUARDED_BY(crit_); |
134 | 131 |
135 // If the buffer is cleared to |first_seq_num_|. | 132 // If the buffer is cleared to |first_seq_num_|. |
136 bool is_cleared_to_first_seq_num_ GUARDED_BY(crit_); | 133 bool is_cleared_to_first_seq_num_ GUARDED_BY(crit_); |
137 | 134 |
138 // Buffer that holds the inserted packets. | 135 // Buffer that holds the inserted packets. |
139 std::vector<VCMPacket> data_buffer_ GUARDED_BY(crit_); | 136 std::vector<VCMPacket> data_buffer_ GUARDED_BY(crit_); |
140 | 137 |
141 // Buffer that holds the information about which slot that is currently in use | 138 // Buffer that holds the information about which slot that is currently in use |
142 // and information needed to determine the continuity between packets. | 139 // and information needed to determine the continuity between packets. |
143 std::vector<ContinuityInfo> sequence_buffer_ GUARDED_BY(crit_); | 140 std::vector<ContinuityInfo> sequence_buffer_ GUARDED_BY(crit_); |
144 | 141 |
145 // Called when a received frame is found. | 142 // Called when a received frame is found. |
146 OnReceivedFrameCallback* const received_frame_callback_; | 143 OnReceivedFrameCallback* const received_frame_callback_; |
147 | 144 |
148 mutable volatile int ref_count_ = 0; | 145 mutable volatile int ref_count_ = 0; |
149 }; | 146 }; |
150 | 147 |
151 } // namespace video_coding | 148 } // namespace video_coding |
152 } // namespace webrtc | 149 } // namespace webrtc |
153 | 150 |
154 #endif // WEBRTC_MODULES_VIDEO_CODING_PACKET_BUFFER_H_ | 151 #endif // WEBRTC_MODULES_VIDEO_CODING_PACKET_BUFFER_H_ |
OLD | NEW |