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

Side by Side Diff: content/renderer/media/webrtc/media_stream_remote_video_source_unittest.cc

Issue 264363005: Cast: deliver video frames on the IO thread (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ThreadCheckerImpl Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698