Index: content/renderer/media/webrtc/media_stream_video_webrtc_sink_unittest.cc |
diff --git a/content/renderer/media/webrtc/media_stream_video_webrtc_sink_unittest.cc b/content/renderer/media/webrtc/media_stream_video_webrtc_sink_unittest.cc |
index 5080a5888f694aa1704b859cb1f20ca87d6f4b59..a5a9874f3df89bfac0cfa0da7eb841956405849f 100644 |
--- a/content/renderer/media/webrtc/media_stream_video_webrtc_sink_unittest.cc |
+++ b/content/renderer/media/webrtc/media_stream_video_webrtc_sink_unittest.cc |
@@ -4,9 +4,12 @@ |
#include "content/renderer/media/webrtc/media_stream_video_webrtc_sink.h" |
+#include "base/test/scoped_feature_list.h" |
#include "content/child/child_process.h" |
+#include "content/public/common/content_features.h" |
#include "content/renderer/media/mock_constraint_factory.h" |
#include "content/renderer/media/mock_media_stream_registry.h" |
+#include "content/renderer/media/video_track_adapter.h" |
#include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -17,6 +20,16 @@ class MediaStreamVideoWebRtcSinkTest : public ::testing::Test { |
public: |
MediaStreamVideoWebRtcSinkTest() {} |
+ void SetVideoTrack() { |
+ registry_.Init("stream URL"); |
+ registry_.AddVideoTrack("test video track"); |
+ blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
+ registry_.test_stream().videoTracks(video_tracks); |
+ track_ = video_tracks[0]; |
+ // TODO(hta): Verify that track_ is valid. When constraints produce |
+ // no valid format, using the track will cause a crash. |
+ } |
+ |
void SetVideoTrack(blink::WebMediaConstraints constraints) { |
registry_.Init("stream URL"); |
registry_.AddVideoTrack("test video track", constraints); |
@@ -27,6 +40,17 @@ class MediaStreamVideoWebRtcSinkTest : public ::testing::Test { |
// no valid format, using the track will cause a crash. |
} |
+ void SetVideoTrack(const base::Optional<bool>& noise_reduction) { |
+ registry_.Init("stream URL"); |
+ registry_.AddVideoTrack("test video track", VideoTrackAdapterSettings(), |
+ noise_reduction, false, 0.0); |
+ blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
+ registry_.test_stream().videoTracks(video_tracks); |
+ track_ = video_tracks[0]; |
+ // TODO(hta): Verify that track_ is valid. When constraints produce |
+ // no valid format, using the track will cause a crash. |
+ } |
+ |
protected: |
blink::WebMediaStreamTrack track_; |
MockPeerConnectionDependencyFactory dependency_factory_; |
@@ -39,7 +63,12 @@ class MediaStreamVideoWebRtcSinkTest : public ::testing::Test { |
const ChildProcess child_process_; |
}; |
-TEST_F(MediaStreamVideoWebRtcSinkTest, NoiseReductionDefaultsToNotSet) { |
+// TODO(guidou): Remove this test. http://crbug.com/706408 |
+TEST_F(MediaStreamVideoWebRtcSinkTest, |
+ NoiseReductionDefaultsToNotSetOldConstraints) { |
+ base::test::ScopedFeatureList scoped_feature_list; |
+ scoped_feature_list.InitAndEnableFeature( |
+ features::kMediaStreamOldVideoConstraints); |
blink::WebMediaConstraints constraints; |
constraints.initialize(); |
SetVideoTrack(constraints); |
@@ -48,7 +77,23 @@ TEST_F(MediaStreamVideoWebRtcSinkTest, NoiseReductionDefaultsToNotSet) { |
EXPECT_FALSE(my_sink.SourceNeedsDenoisingForTesting()); |
} |
-TEST_F(MediaStreamVideoWebRtcSinkTest, NoiseReductionConstraintPassThrough) { |
+// TODO(guidou): Remove this test. http://crbug.com/706408 |
+TEST_F(MediaStreamVideoWebRtcSinkTest, NoiseReductionDefaultsToNotSet) { |
+ base::test::ScopedFeatureList scoped_feature_list; |
+ scoped_feature_list.InitAndDisableFeature( |
+ features::kMediaStreamOldVideoConstraints); |
+ SetVideoTrack(); |
+ MediaStreamVideoWebRtcSink my_sink(track_, &dependency_factory_); |
+ EXPECT_TRUE(my_sink.webrtc_video_track()); |
+ EXPECT_FALSE(my_sink.SourceNeedsDenoisingForTesting()); |
+} |
+ |
+// TODO(guidou): Remove this test. http://crbug.com/706408 |
+TEST_F(MediaStreamVideoWebRtcSinkTest, |
+ NoiseReductionConstraintPassThroughOldConstraints) { |
+ base::test::ScopedFeatureList scoped_feature_list; |
+ scoped_feature_list.InitAndEnableFeature( |
+ features::kMediaStreamOldVideoConstraints); |
MockConstraintFactory factory; |
factory.basic().googNoiseReduction.setExact(true); |
SetVideoTrack(factory.CreateWebMediaConstraints()); |
@@ -57,5 +102,16 @@ TEST_F(MediaStreamVideoWebRtcSinkTest, NoiseReductionConstraintPassThrough) { |
EXPECT_TRUE(*(my_sink.SourceNeedsDenoisingForTesting())); |
} |
+// TODO(guidou): Remove this test. http://crbug.com/706408 |
+TEST_F(MediaStreamVideoWebRtcSinkTest, NoiseReductionConstraintPassThrough) { |
+ base::test::ScopedFeatureList scoped_feature_list; |
+ scoped_feature_list.InitAndDisableFeature( |
+ features::kMediaStreamOldVideoConstraints); |
+ SetVideoTrack(base::Optional<bool>(true)); |
+ MediaStreamVideoWebRtcSink my_sink(track_, &dependency_factory_); |
+ EXPECT_TRUE(my_sink.SourceNeedsDenoisingForTesting()); |
+ EXPECT_TRUE(*(my_sink.SourceNeedsDenoisingForTesting())); |
+} |
+ |
} // namespace |
} // namespace content |