| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 ParseRtpPacket(p, NULL, &pt, NULL, NULL, NULL, NULL); | 272 ParseRtpPacket(p, NULL, &pt, NULL, NULL, NULL, NULL); |
| 273 return pt; | 273 return pt; |
| 274 } | 274 } |
| 275 static bool ParseRtpPacket(const rtc::CopyOnWriteBuffer* p, | 275 static bool ParseRtpPacket(const rtc::CopyOnWriteBuffer* p, |
| 276 bool* x, | 276 bool* x, |
| 277 int* pt, | 277 int* pt, |
| 278 int* seqnum, | 278 int* seqnum, |
| 279 uint32_t* tstamp, | 279 uint32_t* tstamp, |
| 280 uint32_t* ssrc, | 280 uint32_t* ssrc, |
| 281 std::string* payload) { | 281 std::string* payload) { |
| 282 // TODO(jbauch): avoid copying the buffer data into the ByteBuffer | 282 rtc::ByteBufferReader buf(p->data<char>(), p->size()); |
| 283 rtc::ByteBuffer buf(p->data<char>(), p->size()); | |
| 284 uint8_t u08 = 0; | 283 uint8_t u08 = 0; |
| 285 uint16_t u16 = 0; | 284 uint16_t u16 = 0; |
| 286 uint32_t u32 = 0; | 285 uint32_t u32 = 0; |
| 287 | 286 |
| 288 // Read X and CC fields. | 287 // Read X and CC fields. |
| 289 if (!buf.ReadUInt8(&u08)) return false; | 288 if (!buf.ReadUInt8(&u08)) return false; |
| 290 bool extension = ((u08 & 0x10) != 0); | 289 bool extension = ((u08 & 0x10) != 0); |
| 291 uint8_t cc = (u08 & 0x0F); | 290 uint8_t cc = (u08 & 0x0F); |
| 292 if (x) *x = extension; | 291 if (x) *x = extension; |
| 293 | 292 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 return true; | 332 return true; |
| 334 } | 333 } |
| 335 | 334 |
| 336 // Parse all RTCP packet, from start_index to stop_index, and count how many | 335 // Parse all RTCP packet, from start_index to stop_index, and count how many |
| 337 // FIR (PT=206 and FMT=4 according to RFC 5104). If successful, set the count | 336 // FIR (PT=206 and FMT=4 according to RFC 5104). If successful, set the count |
| 338 // and return true. | 337 // and return true. |
| 339 bool CountRtcpFir(int start_index, int stop_index, int* fir_count) { | 338 bool CountRtcpFir(int start_index, int stop_index, int* fir_count) { |
| 340 int count = 0; | 339 int count = 0; |
| 341 for (int i = start_index; i < stop_index; ++i) { | 340 for (int i = start_index; i < stop_index; ++i) { |
| 342 std::unique_ptr<const rtc::CopyOnWriteBuffer> p(GetRtcpPacket(i)); | 341 std::unique_ptr<const rtc::CopyOnWriteBuffer> p(GetRtcpPacket(i)); |
| 343 // TODO(jbauch): avoid copying the buffer data into the ByteBuffer | 342 rtc::ByteBufferReader buf(p->data<char>(), p->size()); |
| 344 rtc::ByteBuffer buf(p->data<char>(), p->size()); | |
| 345 size_t total_len = 0; | 343 size_t total_len = 0; |
| 346 // The packet may be a compound RTCP packet. | 344 // The packet may be a compound RTCP packet. |
| 347 while (total_len < p->size()) { | 345 while (total_len < p->size()) { |
| 348 // Read FMT, type and length. | 346 // Read FMT, type and length. |
| 349 uint8_t fmt = 0; | 347 uint8_t fmt = 0; |
| 350 uint8_t type = 0; | 348 uint8_t type = 0; |
| 351 uint16_t length = 0; | 349 uint16_t length = 0; |
| 352 if (!buf.ReadUInt8(&fmt)) return false; | 350 if (!buf.ReadUInt8(&fmt)) return false; |
| 353 fmt &= 0x1F; | 351 fmt &= 0x1F; |
| 354 if (!buf.ReadUInt8(&type)) return false; | 352 if (!buf.ReadUInt8(&type)) return false; |
| (...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1187 std::unique_ptr<C> channel_; | 1185 std::unique_ptr<C> channel_; |
| 1188 cricket::FakeNetworkInterface network_interface_; | 1186 cricket::FakeNetworkInterface network_interface_; |
| 1189 cricket::FakeVideoRenderer renderer_; | 1187 cricket::FakeVideoRenderer renderer_; |
| 1190 cricket::VideoMediaChannel::Error media_error_; | 1188 cricket::VideoMediaChannel::Error media_error_; |
| 1191 | 1189 |
| 1192 // Used by test cases where 2 streams are run on the same channel. | 1190 // Used by test cases where 2 streams are run on the same channel. |
| 1193 cricket::FakeVideoRenderer renderer2_; | 1191 cricket::FakeVideoRenderer renderer2_; |
| 1194 }; | 1192 }; |
| 1195 | 1193 |
| 1196 #endif // WEBRTC_MEDIA_BASE_VIDEOENGINE_UNITTEST_H_ NOLINT | 1194 #endif // WEBRTC_MEDIA_BASE_VIDEOENGINE_UNITTEST_H_ NOLINT |
| OLD | NEW |