| Index: content/renderer/media/media_stream_video_source_unittest.cc
|
| diff --git a/content/renderer/media/media_stream_video_source_unittest.cc b/content/renderer/media/media_stream_video_source_unittest.cc
|
| index 71ee6fca7ecd6eb1cdea122d6a5dd8ce3528db4e..eba1af1db9c49909c2e0b4641f22515094eaa0bb 100644
|
| --- a/content/renderer/media/media_stream_video_source_unittest.cc
|
| +++ b/content/renderer/media/media_stream_video_source_unittest.cc
|
| @@ -19,6 +19,10 @@
|
| #include "media/base/video_frame.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +using ::testing::_;
|
| +using ::testing::DoAll;
|
| +using ::testing::SaveArg;
|
| +
|
| namespace content {
|
|
|
| ACTION_P(RunClosure, closure) {
|
| @@ -720,4 +724,27 @@ TEST_F(MediaStreamVideoSourceTest, Use0FpsSupportedFormat) {
|
| MediaStreamVideoSink::RemoveFromVideoTrack(&sink, track);
|
| }
|
|
|
| +// Test that a source producing no frames calls back the MSVCS to tell so.
|
| +TEST_F(MediaStreamVideoSourceTest, MutedSource) {
|
| + MockMediaConstraintFactory factory;
|
| + blink::WebMediaStreamTrack track =
|
| + CreateTrackAndStartSource(factory.CreateWebMediaConstraints(),
|
| + 640, 480, 30);
|
| +
|
| + MockMediaStreamVideoSink sink;
|
| + MediaStreamVideoSink::AddToVideoTrack(&sink, sink.GetDeliverFrameCB(), track);
|
| +
|
| + base::RunLoop run_loop;
|
| + base::Closure quit_closure = run_loop.QuitClosure();
|
| + bool muted_state = false;
|
| + EXPECT_CALL(*mock_source(), SetMutedState(_))
|
| + .WillOnce(DoAll(SaveArg<0>(&muted_state), RunClosure(quit_closure)));
|
| + run_loop.Run();
|
| + // TODO(mcasas): When added, check |track|'s (WebMediaStreamTrack) Muted
|
| + // attribute, should be false.
|
| + EXPECT_EQ(muted_state, true);
|
| +
|
| + MediaStreamVideoSink::RemoveFromVideoTrack(&sink, track);
|
| +}
|
| +
|
| } // namespace content
|
|
|