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 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 ntp_estimator_.Estimate(rtp_header->header.timestamp); | 237 ntp_estimator_.Estimate(rtp_header->header.timestamp); |
238 VCMPacket packet(payload_data, payload_size, rtp_header_with_ntp); | 238 VCMPacket packet(payload_data, payload_size, rtp_header_with_ntp); |
239 packet.timesNacked = | 239 packet.timesNacked = |
240 nack_module_ ? nack_module_->OnReceivedPacket(packet) : -1; | 240 nack_module_ ? nack_module_->OnReceivedPacket(packet) : -1; |
241 | 241 |
242 // In the case of a video stream without picture ids and no rtx the | 242 // In the case of a video stream without picture ids and no rtx the |
243 // RtpFrameReferenceFinder will need to know about padding to | 243 // RtpFrameReferenceFinder will need to know about padding to |
244 // correctly calculate frame references. | 244 // correctly calculate frame references. |
245 if (packet.sizeBytes == 0) { | 245 if (packet.sizeBytes == 0) { |
246 reference_finder_->PaddingReceived(packet.seqNum); | 246 reference_finder_->PaddingReceived(packet.seqNum); |
| 247 packet_buffer_->PaddingReceived(packet.seqNum); |
247 return 0; | 248 return 0; |
248 } | 249 } |
249 | 250 |
250 if (packet.codec == kVideoCodecH264) { | 251 if (packet.codec == kVideoCodecH264) { |
251 // Only when we start to receive packets will we know what payload type | 252 // Only when we start to receive packets will we know what payload type |
252 // that will be used. When we know the payload type insert the correct | 253 // that will be used. When we know the payload type insert the correct |
253 // sps/pps into the tracker. | 254 // sps/pps into the tracker. |
254 if (packet.payloadType != last_payload_type_) { | 255 if (packet.payloadType != last_payload_type_) { |
255 last_payload_type_ = packet.payloadType; | 256 last_payload_type_ = packet.payloadType; |
256 InsertSpsPpsIntoTracker(packet.payloadType); | 257 InsertSpsPpsIntoTracker(packet.payloadType); |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 return; | 675 return; |
675 | 676 |
676 if (!sprop_decoder.DecodeSprop(sprop_base64_it->second.c_str())) | 677 if (!sprop_decoder.DecodeSprop(sprop_base64_it->second.c_str())) |
677 return; | 678 return; |
678 | 679 |
679 tracker_.InsertSpsPpsNalus(sprop_decoder.sps_nalu(), | 680 tracker_.InsertSpsPpsNalus(sprop_decoder.sps_nalu(), |
680 sprop_decoder.pps_nalu()); | 681 sprop_decoder.pps_nalu()); |
681 } | 682 } |
682 | 683 |
683 } // namespace webrtc | 684 } // namespace webrtc |
OLD | NEW |