From cafa1d6bbef79d9a8507c6e782f3c7824ef1070b Mon Sep 17 00:00:00 2001 From: ilnik Date: Fri, 2 Jun 2017 05:49:39 -0700 Subject: [PATCH] Protect new header extension by field trial experiment to allow hardcoding it in SDP BUG=chrome:718738 Review-Url: https://codereview.webrtc.org/2922683002 Cr-Commit-Position: refs/heads/master@{#18409} --- webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc | 5 +++-- webrtc/video/end_to_end_tests.cc | 4 ++++ webrtc/video/video_send_stream_tests.cc | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc index 3f4c401a19..129cee5ca9 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc @@ -28,7 +28,7 @@ #include "webrtc/modules/rtp_rtcp/source/rtp_format_vp9.h" #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" #include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h" - +#include "webrtc/system_wrappers/include/field_trial.h" namespace webrtc { namespace { @@ -328,7 +328,8 @@ bool RTPSenderVideo::SendVideo(RtpVideoCodecTypes video_type, last_rotation_ = current_rotation; // Report content type only for key frames. if (frame_type == kVideoFrameKey && - video_header->content_type != VideoContentType::UNSPECIFIED) { + video_header->content_type != VideoContentType::UNSPECIFIED && + webrtc::field_trial::IsEnabled("WebRTC-VideoContentTypeExtension")) { last_packet->SetExtension( video_header->content_type); } diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc index 4880b819f4..0293f7c110 100644 --- a/webrtc/video/end_to_end_tests.cc +++ b/webrtc/video/end_to_end_tests.cc @@ -2791,6 +2791,8 @@ TEST_F(EndToEndTest, MAYBE_ContentTypeSwitches) { int num_frames_received_ GUARDED_BY(&crit_); } test; + test::ScopedFieldTrials override_field_trials( + "WebRTC-VideoContentTypeExtension/Enabled/"); metrics::Reset(); Call::Config send_config(test.GetSenderCallConfig()); @@ -2875,6 +2877,8 @@ TEST_F(EndToEndTest, VerifyHistogramStatsWithScreenshare) { const bool kEnabledRtx = false; const bool kEnabledRed = false; const bool kScreenshare = true; + test::ScopedFieldTrials override_field_trials( + "WebRTC-VideoContentTypeExtension/Enabled/"); VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare); } diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc index de3da25385..340c71c7bf 100644 --- a/webrtc/video/video_send_stream_tests.cc +++ b/webrtc/video/video_send_stream_tests.cc @@ -332,6 +332,8 @@ TEST_F(VideoSendStreamTest, SupportsVideoContentType) { } } test; + test::ScopedFieldTrials override_field_trials( + "WebRTC-VideoContentTypeExtension/Enabled/"); RunBaseTest(&test); }