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

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

Issue 2855783003: Fix dependencies on deprecated webrtc videoframe features. (Closed)
Patch Set: Add missing gn dependency on video_frame_api. Created 3 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
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 "content/renderer/media/webrtc/media_stream_remote_video_source.h" 5 #include "content/renderer/media/webrtc/media_stream_remote_video_source.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "base/threading/thread_task_runner_handle.h" 13 #include "base/threading/thread_task_runner_handle.h"
14 #include "content/child/child_process.h" 14 #include "content/child/child_process.h"
15 #include "content/renderer/media/media_stream_video_track.h" 15 #include "content/renderer/media/media_stream_video_track.h"
16 #include "content/renderer/media/mock_media_stream_video_sink.h" 16 #include "content/renderer/media/mock_media_stream_video_sink.h"
17 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h" 17 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h"
18 #include "content/renderer/media/webrtc/track_observer.h" 18 #include "content/renderer/media/webrtc/track_observer.h"
19 #include "media/base/video_frame.h" 19 #include "media/base/video_frame.h"
20 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
21 #include "third_party/WebKit/public/web/WebHeap.h" 21 #include "third_party/WebKit/public/web/WebHeap.h"
22 #include "third_party/webrtc/api/video/i420_buffer.h"
22 23
23 namespace content { 24 namespace content {
24 25
25 ACTION_P(RunClosure, closure) { 26 ACTION_P(RunClosure, closure) {
26 closure.Run(); 27 closure.Run();
27 } 28 }
28 29
29 class MediaStreamRemoteVideoSourceUnderTest 30 class MediaStreamRemoteVideoSourceUnderTest
30 : public MediaStreamRemoteVideoSource { 31 : public MediaStreamRemoteVideoSource {
31 public: 32 public:
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 119
119 MockMediaStreamVideoSink sink; 120 MockMediaStreamVideoSink sink;
120 track->AddSink(&sink, sink.GetDeliverFrameCB(), false); 121 track->AddSink(&sink, sink.GetDeliverFrameCB(), false);
121 base::RunLoop run_loop; 122 base::RunLoop run_loop;
122 base::Closure quit_closure = run_loop.QuitClosure(); 123 base::Closure quit_closure = run_loop.QuitClosure();
123 EXPECT_CALL(sink, OnVideoFrame()).WillOnce( 124 EXPECT_CALL(sink, OnVideoFrame()).WillOnce(
124 RunClosure(quit_closure)); 125 RunClosure(quit_closure));
125 rtc::scoped_refptr<webrtc::I420Buffer> buffer( 126 rtc::scoped_refptr<webrtc::I420Buffer> buffer(
126 new rtc::RefCountedObject<webrtc::I420Buffer>(320, 240)); 127 new rtc::RefCountedObject<webrtc::I420Buffer>(320, 240));
127 128
128 buffer->SetToBlack(); 129 webrtc::I420Buffer::SetBlack(buffer);
129 130
130 source()->SinkInterfaceForTest()->OnFrame( 131 source()->SinkInterfaceForTest()->OnFrame(
131 webrtc::VideoFrame(buffer, webrtc::kVideoRotation_0, 1000)); 132 webrtc::VideoFrame(buffer, webrtc::kVideoRotation_0, 1000));
132 run_loop.Run(); 133 run_loop.Run();
133 134
134 EXPECT_EQ(1, sink.number_of_frames()); 135 EXPECT_EQ(1, sink.number_of_frames());
135 track->RemoveSink(&sink); 136 track->RemoveSink(&sink);
136 } 137 }
137 138
138 TEST_F(MediaStreamRemoteVideoSourceTest, RemoteTrackStop) { 139 TEST_F(MediaStreamRemoteVideoSourceTest, RemoteTrackStop) {
139 std::unique_ptr<MediaStreamVideoTrack> track(CreateTrack()); 140 std::unique_ptr<MediaStreamVideoTrack> track(CreateTrack());
140 141
141 MockMediaStreamVideoSink sink; 142 MockMediaStreamVideoSink sink;
142 track->AddSink(&sink, sink.GetDeliverFrameCB(), false); 143 track->AddSink(&sink, sink.GetDeliverFrameCB(), false);
143 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateLive, sink.state()); 144 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateLive, sink.state());
144 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateLive, 145 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateLive,
145 webkit_source().GetReadyState()); 146 webkit_source().GetReadyState());
146 StopWebRtcTrack(); 147 StopWebRtcTrack();
147 base::RunLoop().RunUntilIdle(); 148 base::RunLoop().RunUntilIdle();
148 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded, 149 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded,
149 webkit_source().GetReadyState()); 150 webkit_source().GetReadyState());
150 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded, sink.state()); 151 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded, sink.state());
151 152
152 track->RemoveSink(&sink); 153 track->RemoveSink(&sink);
153 } 154 }
154 155
155 } // namespace content 156 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webrtc/media_stream_remote_video_source.cc ('k') | content/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698