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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 | 113 |
114 // If this frame is continuous or not. | 114 // If this frame is continuous or not. |
115 bool continuous = false; | 115 bool continuous = false; |
116 | 116 |
117 // The actual FrameObject. | 117 // The actual FrameObject. |
118 std::unique_ptr<FrameObject> frame; | 118 std::unique_ptr<FrameObject> frame; |
119 }; | 119 }; |
120 | 120 |
121 using FrameMap = std::map<FrameKey, FrameInfo>; | 121 using FrameMap = std::map<FrameKey, FrameInfo>; |
122 | 122 |
| 123 // Updates the minimal and maximal playout delays |
| 124 // depending on the frame. |
| 125 void UpdatePlayoutDelays(const FrameObject& frame) |
| 126 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
| 127 |
123 // Update all directly dependent and indirectly dependent frames and mark | 128 // Update all directly dependent and indirectly dependent frames and mark |
124 // them as continuous if all their references has been fulfilled. | 129 // them as continuous if all their references has been fulfilled. |
125 void PropagateContinuity(FrameMap::iterator start) | 130 void PropagateContinuity(FrameMap::iterator start) |
126 EXCLUSIVE_LOCKS_REQUIRED(crit_); | 131 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
127 | 132 |
128 // Marks the frame as decoded and updates all directly dependent frames. | 133 // Marks the frame as decoded and updates all directly dependent frames. |
129 void PropagateDecodability(const FrameInfo& info) | 134 void PropagateDecodability(const FrameInfo& info) |
130 EXCLUSIVE_LOCKS_REQUIRED(crit_); | 135 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
131 | 136 |
132 // Advances |last_decoded_frame_it_| to |decoded| and removes old | 137 // Advances |last_decoded_frame_it_| to |decoded| and removes old |
(...skipping 30 matching lines...) Expand all Loading... |
163 VCMVideoProtection protection_mode_ GUARDED_BY(crit_); | 168 VCMVideoProtection protection_mode_ GUARDED_BY(crit_); |
164 VCMReceiveStatisticsCallback* const stats_callback_; | 169 VCMReceiveStatisticsCallback* const stats_callback_; |
165 | 170 |
166 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FrameBuffer); | 171 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FrameBuffer); |
167 }; | 172 }; |
168 | 173 |
169 } // namespace video_coding | 174 } // namespace video_coding |
170 } // namespace webrtc | 175 } // namespace webrtc |
171 | 176 |
172 #endif // WEBRTC_MODULES_VIDEO_CODING_FRAME_BUFFER2_H_ | 177 #endif // WEBRTC_MODULES_VIDEO_CODING_FRAME_BUFFER2_H_ |
OLD | NEW |