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