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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 VCMPacket* last_packet = packet_buffer_->GetPacket(last_seq_num); | 72 VCMPacket* last_packet = packet_buffer_->GetPacket(last_seq_num); |
73 RTC_DCHECK(last_packet && last_packet->markerBit); | 73 RTC_DCHECK(last_packet && last_packet->markerBit); |
74 // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ | 74 // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ |
75 // ts_126114v120700p.pdf Section 7.4.5. | 75 // ts_126114v120700p.pdf Section 7.4.5. |
76 // The MTSI client shall add the payload bytes as defined in this clause | 76 // The MTSI client shall add the payload bytes as defined in this clause |
77 // onto the last RTP packet in each group of packets which make up a key | 77 // onto the last RTP packet in each group of packets which make up a key |
78 // frame (I-frame or IDR frame in H.264 (AVC), or an IRAP picture in H.265 | 78 // frame (I-frame or IDR frame in H.264 (AVC), or an IRAP picture in H.265 |
79 // (HEVC)). | 79 // (HEVC)). |
80 rotation_ = last_packet->video_header.rotation; | 80 rotation_ = last_packet->video_header.rotation; |
81 _rotation_set = true; | 81 _rotation_set = true; |
| 82 content_type_ = last_packet->video_header.content_type; |
82 } | 83 } |
83 | 84 |
84 RtpFrameObject::~RtpFrameObject() { | 85 RtpFrameObject::~RtpFrameObject() { |
85 packet_buffer_->ReturnFrame(this); | 86 packet_buffer_->ReturnFrame(this); |
86 } | 87 } |
87 | 88 |
88 uint16_t RtpFrameObject::first_seq_num() const { | 89 uint16_t RtpFrameObject::first_seq_num() const { |
89 return first_seq_num_; | 90 return first_seq_num_; |
90 } | 91 } |
91 | 92 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 rtc::Optional<RTPVideoTypeHeader> RtpFrameObject::GetCodecHeader() const { | 129 rtc::Optional<RTPVideoTypeHeader> RtpFrameObject::GetCodecHeader() const { |
129 rtc::CritScope lock(&packet_buffer_->crit_); | 130 rtc::CritScope lock(&packet_buffer_->crit_); |
130 VCMPacket* packet = packet_buffer_->GetPacket(first_seq_num_); | 131 VCMPacket* packet = packet_buffer_->GetPacket(first_seq_num_); |
131 if (!packet) | 132 if (!packet) |
132 return rtc::Optional<RTPVideoTypeHeader>(); | 133 return rtc::Optional<RTPVideoTypeHeader>(); |
133 return rtc::Optional<RTPVideoTypeHeader>(packet->video_header.codecHeader); | 134 return rtc::Optional<RTPVideoTypeHeader>(packet->video_header.codecHeader); |
134 } | 135 } |
135 | 136 |
136 } // namespace video_coding | 137 } // namespace video_coding |
137 } // namespace webrtc | 138 } // namespace webrtc |
OLD | NEW |