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_delta_ms; |
| 171 timing_.encode_finish_ms = |
| 172 ntp_time_ms_ + |
| 173 packet.video_header.video_timing.encode_finish_delta_ms; |
| 174 timing_.packetization_finish_ms = |
| 175 ntp_time_ms_ + |
| 176 packet.video_header.video_timing.packetization_finish_delta_ms; |
| 177 timing_.pacer_exit_ms = |
| 178 ntp_time_ms_ + packet.video_header.video_timing.pacer_exit_delta_ms; |
| 179 timing_.network_timestamp_ms = |
| 180 ntp_time_ms_ + |
| 181 packet.video_header.video_timing.network_timstamp_delta_ms; |
| 182 timing_.network2_timestamp_ms = |
| 183 ntp_time_ms_ + |
| 184 packet.video_header.video_timing.network2_timstamp_delta_ms; |
| 185 } else { |
| 186 timing_.is_timing_frame = false; |
| 187 } |
167 } | 188 } |
168 | 189 |
169 if (packet.is_first_packet_in_frame) { | 190 if (packet.is_first_packet_in_frame) { |
170 playout_delay_ = packet.video_header.playout_delay; | 191 playout_delay_ = packet.video_header.playout_delay; |
171 } | 192 } |
172 | 193 |
173 if (_sessionInfo.complete()) { | 194 if (_sessionInfo.complete()) { |
174 SetState(kStateComplete); | 195 SetState(kStateComplete); |
175 return kCompleteSession; | 196 return kCompleteSession; |
176 } else if (_sessionInfo.decodable()) { | 197 } else if (_sessionInfo.decodable()) { |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 size_t bytes_removed = _sessionInfo.MakeDecodable(); | 296 size_t bytes_removed = _sessionInfo.MakeDecodable(); |
276 _length -= bytes_removed; | 297 _length -= bytes_removed; |
277 // Transfer frame information to EncodedFrame and create any codec | 298 // Transfer frame information to EncodedFrame and create any codec |
278 // specific information. | 299 // specific information. |
279 _frameType = _sessionInfo.FrameType(); | 300 _frameType = _sessionInfo.FrameType(); |
280 _completeFrame = _sessionInfo.complete(); | 301 _completeFrame = _sessionInfo.complete(); |
281 _missingFrame = !continuous; | 302 _missingFrame = !continuous; |
282 } | 303 } |
283 | 304 |
284 } // namespace webrtc | 305 } // namespace webrtc |
OLD | NEW |