OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 // ts_126114v120700p.pdf Section 7.4.5. | 157 // ts_126114v120700p.pdf Section 7.4.5. |
158 // The MTSI client shall add the payload bytes as defined in this clause | 158 // The MTSI client shall add the payload bytes as defined in this clause |
159 // onto the last RTP packet in each group of packets which make up a key | 159 // onto the last RTP packet in each group of packets which make up a key |
160 // frame (I-frame or IDR frame in H.264 (AVC), or an IRAP picture in H.265 | 160 // frame (I-frame or IDR frame in H.264 (AVC), or an IRAP picture in H.265 |
161 // (HEVC)). | 161 // (HEVC)). |
162 if (packet.markerBit) { | 162 if (packet.markerBit) { |
163 RTC_DCHECK(!_rotation_set); | 163 RTC_DCHECK(!_rotation_set); |
164 rotation_ = packet.video_header.rotation; | 164 rotation_ = packet.video_header.rotation; |
165 _rotation_set = true; | 165 _rotation_set = true; |
166 content_type_ = packet.video_header.content_type; | 166 content_type_ = packet.video_header.content_type; |
| 167 if (packet.video_header.video_timing.is_timing_frame) { |
| 168 timing_.is_timing_frame = true; |
| 169 timing_.encode_start_ms = |
| 170 ntp_time_ms_ + packet.video_header.video_timing.encode_start_ms_delta; |
| 171 timing_.encode_finish_ms = |
| 172 ntp_time_ms_ + |
| 173 packet.video_header.video_timing.encode_finish_ms_delta; |
| 174 timing_.packetization_finish_ms = |
| 175 ntp_time_ms_ + |
| 176 packet.video_header.video_timing.packetization_finish_ms_delta; |
| 177 timing_.pacer_exit_ms = |
| 178 ntp_time_ms_ + packet.video_header.video_timing.pacer_exit_ms_delta; |
| 179 timing_.network_timestamp_ms = |
| 180 ntp_time_ms_ + |
| 181 packet.video_header.video_timing.network_timstamp_ms_delta; |
| 182 } else { |
| 183 timing_.is_timing_frame = false; |
| 184 } |
167 } | 185 } |
168 | 186 |
169 if (packet.is_first_packet_in_frame) { | 187 if (packet.is_first_packet_in_frame) { |
170 playout_delay_ = packet.video_header.playout_delay; | 188 playout_delay_ = packet.video_header.playout_delay; |
171 } | 189 } |
172 | 190 |
173 if (_sessionInfo.complete()) { | 191 if (_sessionInfo.complete()) { |
174 SetState(kStateComplete); | 192 SetState(kStateComplete); |
175 return kCompleteSession; | 193 return kCompleteSession; |
176 } else if (_sessionInfo.decodable()) { | 194 } else if (_sessionInfo.decodable()) { |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 size_t bytes_removed = _sessionInfo.MakeDecodable(); | 293 size_t bytes_removed = _sessionInfo.MakeDecodable(); |
276 _length -= bytes_removed; | 294 _length -= bytes_removed; |
277 // Transfer frame information to EncodedFrame and create any codec | 295 // Transfer frame information to EncodedFrame and create any codec |
278 // specific information. | 296 // specific information. |
279 _frameType = _sessionInfo.FrameType(); | 297 _frameType = _sessionInfo.FrameType(); |
280 _completeFrame = _sessionInfo.complete(); | 298 _completeFrame = _sessionInfo.complete(); |
281 _missingFrame = !continuous; | 299 _missingFrame = !continuous; |
282 } | 300 } |
283 | 301 |
284 } // namespace webrtc | 302 } // namespace webrtc |
OLD | NEW |