| 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 |