OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "content/child/child_process.h" | 8 #include "content/child/child_process.h" |
9 #include "content/renderer/media/media_stream_video_track.h" | 9 #include "content/renderer/media/media_stream_video_track.h" |
10 #include "content/renderer/media/mock_media_stream_dependency_factory.h" | 10 #include "content/renderer/media/mock_media_stream_dependency_factory.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 blink::WebMediaStreamSource webkit_source_; | 101 blink::WebMediaStreamSource webkit_source_; |
102 int number_of_successful_constraints_applied_; | 102 int number_of_successful_constraints_applied_; |
103 int number_of_failed_constraints_applied_; | 103 int number_of_failed_constraints_applied_; |
104 }; | 104 }; |
105 | 105 |
106 TEST_F(MediaStreamRemoteVideoSourceTest, StartTrack) { | 106 TEST_F(MediaStreamRemoteVideoSourceTest, StartTrack) { |
107 scoped_ptr<MediaStreamVideoTrack> track(CreateTrack()); | 107 scoped_ptr<MediaStreamVideoTrack> track(CreateTrack()); |
108 EXPECT_EQ(1, NumberOfSuccessConstraintsCallbacks()); | 108 EXPECT_EQ(1, NumberOfSuccessConstraintsCallbacks()); |
109 | 109 |
110 MockMediaStreamVideoSink sink; | 110 MockMediaStreamVideoSink sink; |
111 track->AddSink(&sink); | 111 track->AddSink(&sink, sink.GetDeliverFrameCB()); |
112 | |
113 | |
114 | |
115 base::RunLoop run_loop; | 112 base::RunLoop run_loop; |
116 base::Closure quit_closure = run_loop.QuitClosure(); | 113 base::Closure quit_closure = run_loop.QuitClosure(); |
117 EXPECT_CALL(sink, OnVideoFrame()).WillOnce( | 114 EXPECT_CALL(sink, OnVideoFrame()).WillOnce( |
118 RunClosure(quit_closure)); | 115 RunClosure(quit_closure)); |
119 cricket::WebRtcVideoFrame webrtc_frame; | 116 cricket::WebRtcVideoFrame webrtc_frame; |
120 webrtc_frame.InitToBlack(320, 240, 1, 1, 0, 1); | 117 webrtc_frame.InitToBlack(320, 240, 1, 1, 0, 1); |
121 source()->RenderInterfaceForTest()->RenderFrame(&webrtc_frame); | 118 source()->RenderInterfaceForTest()->RenderFrame(&webrtc_frame); |
122 run_loop.Run(); | 119 run_loop.Run(); |
123 | 120 |
124 EXPECT_EQ(1, sink.number_of_frames()); | 121 EXPECT_EQ(1, sink.number_of_frames()); |
125 track->RemoveSink(&sink); | 122 track->RemoveSink(&sink); |
126 } | 123 } |
127 | 124 |
128 TEST_F(MediaStreamRemoteVideoSourceTest, RemoteTrackStop) { | 125 TEST_F(MediaStreamRemoteVideoSourceTest, RemoteTrackStop) { |
129 scoped_ptr<MediaStreamVideoTrack> track(CreateTrack()); | 126 scoped_ptr<MediaStreamVideoTrack> track(CreateTrack()); |
130 | 127 |
131 MockMediaStreamVideoSink sink; | 128 MockMediaStreamVideoSink sink; |
132 track->AddSink(&sink); | 129 track->AddSink(&sink, sink.GetDeliverFrameCB()); |
133 | |
134 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, sink.state()); | 130 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, sink.state()); |
135 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, | 131 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, |
136 webkit_source().readyState()); | 132 webkit_source().readyState()); |
137 StopWebRtcTrack(); | 133 StopWebRtcTrack(); |
138 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, | 134 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, |
139 webkit_source().readyState()); | 135 webkit_source().readyState()); |
140 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, sink.state()); | 136 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, sink.state()); |
141 | 137 |
142 track->RemoveSink(&sink); | 138 track->RemoveSink(&sink); |
143 } | 139 } |
144 | 140 |
145 } // namespace content | 141 } // namespace content |
OLD | NEW |