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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 | 84 |
85 rtp_header->type.Video.is_first_packet_in_frame = is_first_packet; | 85 rtp_header->type.Video.is_first_packet_in_frame = is_first_packet; |
86 RtpDepacketizer::ParsedPayload parsed_payload; | 86 RtpDepacketizer::ParsedPayload parsed_payload; |
87 if (!depacketizer->Parse(&parsed_payload, payload, payload_data_length)) | 87 if (!depacketizer->Parse(&parsed_payload, payload, payload_data_length)) |
88 return -1; | 88 return -1; |
89 | 89 |
90 rtp_header->frameType = parsed_payload.frame_type; | 90 rtp_header->frameType = parsed_payload.frame_type; |
91 rtp_header->type = parsed_payload.type; | 91 rtp_header->type = parsed_payload.type; |
92 rtp_header->type.Video.rotation = kVideoRotation_0; | 92 rtp_header->type.Video.rotation = kVideoRotation_0; |
93 rtp_header->type.Video.content_type = VideoContentType::UNSPECIFIED; | 93 rtp_header->type.Video.content_type = VideoContentType::UNSPECIFIED; |
94 rtp_header->type.Video.video_timing.flags = TimingFrameFlags::kInvalid; | 94 rtp_header->type.Video.video_timing.is_timing_frame = false; |
95 | 95 |
96 // Retrieve the video rotation information. | 96 // Retrieve the video rotation information. |
97 if (rtp_header->header.extension.hasVideoRotation) { | 97 if (rtp_header->header.extension.hasVideoRotation) { |
98 rtp_header->type.Video.rotation = | 98 rtp_header->type.Video.rotation = |
99 rtp_header->header.extension.videoRotation; | 99 rtp_header->header.extension.videoRotation; |
100 } | 100 } |
101 | 101 |
102 if (rtp_header->header.extension.hasVideoContentType) { | 102 if (rtp_header->header.extension.hasVideoContentType) { |
103 rtp_header->type.Video.content_type = | 103 rtp_header->type.Video.content_type = |
104 rtp_header->header.extension.videoContentType; | 104 rtp_header->header.extension.videoContentType; |
105 } | 105 } |
106 | 106 |
107 if (rtp_header->header.extension.has_video_timing) { | 107 if (rtp_header->header.extension.has_video_timing) { |
108 rtp_header->type.Video.video_timing = | 108 rtp_header->type.Video.video_timing = |
109 rtp_header->header.extension.video_timing; | 109 rtp_header->header.extension.video_timing; |
| 110 rtp_header->type.Video.video_timing.is_timing_frame = true; |
110 } | 111 } |
111 | 112 |
112 rtp_header->type.Video.playout_delay = | 113 rtp_header->type.Video.playout_delay = |
113 rtp_header->header.extension.playout_delay; | 114 rtp_header->header.extension.playout_delay; |
114 | 115 |
115 return data_callback_->OnReceivedPayloadData(parsed_payload.payload, | 116 return data_callback_->OnReceivedPayloadData(parsed_payload.payload, |
116 parsed_payload.payload_length, | 117 parsed_payload.payload_length, |
117 rtp_header) == 0 | 118 rtp_header) == 0 |
118 ? 0 | 119 ? 0 |
119 : -1; | 120 : -1; |
120 } | 121 } |
121 | 122 |
122 RTPAliveType RTPReceiverVideo::ProcessDeadOrAlive( | 123 RTPAliveType RTPReceiverVideo::ProcessDeadOrAlive( |
123 uint16_t last_payload_length) const { | 124 uint16_t last_payload_length) const { |
124 return kRtpDead; | 125 return kRtpDead; |
125 } | 126 } |
126 | 127 |
127 int32_t RTPReceiverVideo::InvokeOnInitializeDecoder( | 128 int32_t RTPReceiverVideo::InvokeOnInitializeDecoder( |
128 RtpFeedback* callback, | 129 RtpFeedback* callback, |
129 int8_t payload_type, | 130 int8_t payload_type, |
130 const char payload_name[RTP_PAYLOAD_NAME_SIZE], | 131 const char payload_name[RTP_PAYLOAD_NAME_SIZE], |
131 const PayloadUnion& specific_payload) const { | 132 const PayloadUnion& specific_payload) const { |
132 // TODO(pbos): Remove as soon as audio can handle a changing payload type | 133 // TODO(pbos): Remove as soon as audio can handle a changing payload type |
133 // without this callback. | 134 // without this callback. |
134 return 0; | 135 return 0; |
135 } | 136 } |
136 | 137 |
137 } // namespace webrtc | 138 } // namespace webrtc |
OLD | NEW |