Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: webrtc/video/video_send_stream_tests.cc

Issue 1327933003: Enable probing with repeated payload packets by default. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fixing yet another flake in libjingle tests. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/video/end_to_end_tests.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 #include <algorithm> // max 10 #include <algorithm> // max
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 return SEND_PACKET; 532 return SEND_PACKET;
533 } 533 }
534 } 534 }
535 535
536 accumulated_size_ += length; 536 accumulated_size_ += length;
537 537
538 if (use_fec_) 538 if (use_fec_)
539 TriggerLossReport(header); 539 TriggerLossReport(header);
540 540
541 if (test_generic_packetization_) { 541 if (test_generic_packetization_) {
542 size_t overhead = header.headerLength + header.paddingLength + 542 size_t overhead = header.headerLength + header.paddingLength;
543 (1 /* Generic header */); 543 // Only remove payload header and RED header if the packet actually
544 if (use_fec_) 544 // contains payload.
545 overhead += 1; // RED for FEC header. 545 if (length > overhead) {
546 overhead += (1 /* Generic header */);
547 if (use_fec_)
548 overhead += 1; // RED for FEC header.
549 }
550 EXPECT_GE(length, overhead);
546 accumulated_payload_ += length - overhead; 551 accumulated_payload_ += length - overhead;
547 } 552 }
548 553
549 // Marker bit set indicates last packet of a frame. 554 // Marker bit set indicates last packet of a frame.
550 if (header.markerBit) { 555 if (header.markerBit) {
551 if (use_fec_ && accumulated_payload_ == current_size_rtp_ - 1) { 556 if (use_fec_ && accumulated_payload_ == current_size_rtp_ - 1) {
552 // With FEC enabled, frame size is incremented asynchronously, so 557 // With FEC enabled, frame size is incremented asynchronously, so
553 // "old" frames one byte too small may arrive. Accept, but don't 558 // "old" frames one byte too small may arrive. Accept, but don't
554 // increase expected frame size. 559 // increase expected frame size.
555 accumulated_size_ = 0; 560 accumulated_size_ = 0;
(...skipping 1280 matching lines...) Expand 10 before | Expand all | Expand 10 after
1836 RTPHeader header; 1841 RTPHeader header;
1837 EXPECT_TRUE(parser_->Parse(packet, length, &header)); 1842 EXPECT_TRUE(parser_->Parse(packet, length, &header));
1838 1843
1839 if (header.payloadType == kVp9PayloadType) { 1844 if (header.payloadType == kVp9PayloadType) {
1840 RtpDepacketizerVp9 vp9depacketizer; 1845 RtpDepacketizerVp9 vp9depacketizer;
1841 RtpDepacketizer::ParsedPayload vp9payload; 1846 RtpDepacketizer::ParsedPayload vp9payload;
1842 const uint8_t* vp9_packet = packet + header.headerLength; 1847 const uint8_t* vp9_packet = packet + header.headerLength;
1843 size_t payload_length = 1848 size_t payload_length =
1844 length - header.headerLength - header.paddingLength; 1849 length - header.headerLength - header.paddingLength;
1845 1850
1846 bool parse_vp9header_successful = 1851 if (payload_length > 0) {
1847 vp9depacketizer.Parse(&vp9payload, vp9_packet, payload_length); 1852 bool parse_vp9header_successful =
1848 bool is_vp9_codec_type = 1853 vp9depacketizer.Parse(&vp9payload, vp9_packet, payload_length);
1849 vp9payload.type.Video.codec == RtpVideoCodecTypes::kRtpVideoVp9; 1854 bool is_vp9_codec_type =
1850 EXPECT_TRUE(parse_vp9header_successful); 1855 vp9payload.type.Video.codec == RtpVideoCodecTypes::kRtpVideoVp9;
1851 EXPECT_TRUE(is_vp9_codec_type); 1856 EXPECT_TRUE(parse_vp9header_successful);
1857 EXPECT_TRUE(is_vp9_codec_type);
1852 1858
1853 RTPVideoHeaderVP9* vp9videoHeader = 1859 RTPVideoHeaderVP9* vp9videoHeader =
1854 &vp9payload.type.Video.codecHeader.VP9; 1860 &vp9payload.type.Video.codecHeader.VP9;
1855 if (parse_vp9header_successful && is_vp9_codec_type) { 1861 if (parse_vp9header_successful && is_vp9_codec_type) {
1856 InspectHeader(vp9videoHeader); 1862 InspectHeader(vp9videoHeader);
1857 } else { 1863 } else {
1858 observation_complete_->Set(); 1864 observation_complete_->Set();
1865 }
1859 } 1866 }
1860 } 1867 }
1861 1868
1862 return SEND_PACKET; 1869 return SEND_PACKET;
1863 } 1870 }
1864 1871
1865 protected: 1872 protected:
1866 rtc::scoped_ptr<VP9Encoder> vp9_encoder_; 1873 rtc::scoped_ptr<VP9Encoder> vp9_encoder_;
1867 VideoCodecVP9 vp9_settings_; 1874 VideoCodecVP9 vp9_settings_;
1868 }; 1875 };
(...skipping 22 matching lines...) Expand all
1891 EXPECT_TRUE(vp9videoHeader->flexible_mode); 1898 EXPECT_TRUE(vp9videoHeader->flexible_mode);
1892 observation_complete_->Set(); 1899 observation_complete_->Set();
1893 } 1900 }
1894 1901
1895 } test; 1902 } test;
1896 1903
1897 RunBaseTest(&test); 1904 RunBaseTest(&test);
1898 } 1905 }
1899 1906
1900 } // namespace webrtc 1907 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/end_to_end_tests.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698