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

Side by Side Diff: content/renderer/media/webmediaplayer_ms_unittest.cc

Issue 1815033003: Add srcObject attribute of type MediaStream to HTMLMediaElement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: philipj's comments Created 4 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "content/public/renderer/media_stream_renderer_factory.h" 7 #include "content/public/renderer/media_stream_renderer_factory.h"
8 #include "content/renderer/media/webmediaplayer_ms.h" 8 #include "content/renderer/media/webmediaplayer_ms.h"
9 #include "content/renderer/media/webmediaplayer_ms_compositor.h" 9 #include "content/renderer/media/webmediaplayer_ms_compositor.h"
10 #include "content/renderer/render_frame_impl.h" 10 #include "content/renderer/render_frame_impl.h"
11 #include "media/base/test_helpers.h" 11 #include "media/base/test_helpers.h"
12 #include "media/base/video_frame.h" 12 #include "media/base/video_frame.h"
13 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" 13 #include "third_party/WebKit/public/platform/WebMediaPlayer.h"
14 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" 14 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
15 #include "third_party/WebKit/public/platform/WebMediaPlayerSource.h"
15 16
16 namespace content { 17 namespace content {
17 18
18 enum class FrameType { 19 enum class FrameType {
19 NORMAL_FRAME = 0, 20 NORMAL_FRAME = 0,
20 BROKEN_FRAME = -1, 21 BROKEN_FRAME = -1,
21 TEST_BRAKE = -2, // Signal to pause message loop. 22 TEST_BRAKE = -2, // Signal to pause message loop.
22 MIN_TYPE = TEST_BRAKE 23 MIN_TYPE = TEST_BRAKE
23 }; 24 };
24 25
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 // WebMediaPlayerMS::load(). 267 // WebMediaPlayerMS::load().
267 class MockRenderFactory : public MediaStreamRendererFactory { 268 class MockRenderFactory : public MediaStreamRendererFactory {
268 public: 269 public:
269 MockRenderFactory( 270 MockRenderFactory(
270 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, 271 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
271 ReusableMessageLoopEvent* message_loop_controller) 272 ReusableMessageLoopEvent* message_loop_controller)
272 : task_runner_(task_runner), 273 : task_runner_(task_runner),
273 message_loop_controller_(message_loop_controller) {} 274 message_loop_controller_(message_loop_controller) {}
274 275
275 scoped_refptr<VideoFrameProvider> GetVideoFrameProvider( 276 scoped_refptr<VideoFrameProvider> GetVideoFrameProvider(
276 const GURL& url, 277 const blink::WebMediaStream& web_stream,
277 const base::Closure& error_cb, 278 const base::Closure& error_cb,
278 const VideoFrameProvider::RepaintCB& repaint_cb, 279 const VideoFrameProvider::RepaintCB& repaint_cb,
279 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, 280 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
280 const scoped_refptr<base::TaskRunner>& worker_task_runner, 281 const scoped_refptr<base::TaskRunner>& worker_task_runner,
281 media::GpuVideoAcceleratorFactories* gpu_factories) override; 282 media::GpuVideoAcceleratorFactories* gpu_factories) override;
282 283
283 MockVideoFrameProvider* provider() { 284 MockVideoFrameProvider* provider() {
284 return static_cast<MockVideoFrameProvider*>(provider_.get()); 285 return static_cast<MockVideoFrameProvider*>(provider_.get());
285 } 286 }
286 287
287 scoped_refptr<MediaStreamAudioRenderer> GetAudioRenderer( 288 scoped_refptr<MediaStreamAudioRenderer> GetAudioRenderer(
288 const GURL& url, 289 const blink::WebMediaStream& web_stream,
289 int render_frame_id, 290 int render_frame_id,
290 const std::string& device_id, 291 const std::string& device_id,
291 const url::Origin& security_origin) override { 292 const url::Origin& security_origin) override {
292 return nullptr; 293 return nullptr;
293 } 294 }
294 295
295 private: 296 private:
296 const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 297 const scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
297 scoped_refptr<VideoFrameProvider> provider_; 298 scoped_refptr<VideoFrameProvider> provider_;
298 ReusableMessageLoopEvent* const message_loop_controller_; 299 ReusableMessageLoopEvent* const message_loop_controller_;
299 }; 300 };
300 301
301 scoped_refptr<VideoFrameProvider> MockRenderFactory::GetVideoFrameProvider( 302 scoped_refptr<VideoFrameProvider> MockRenderFactory::GetVideoFrameProvider(
302 const GURL& url, 303 const blink::WebMediaStream& web_stream,
303 const base::Closure& error_cb, 304 const base::Closure& error_cb,
304 const VideoFrameProvider::RepaintCB& repaint_cb, 305 const VideoFrameProvider::RepaintCB& repaint_cb,
305 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, 306 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
306 const scoped_refptr<base::TaskRunner>& worker_task_runner, 307 const scoped_refptr<base::TaskRunner>& worker_task_runner,
307 media::GpuVideoAcceleratorFactories* gpu_factories) { 308 media::GpuVideoAcceleratorFactories* gpu_factories) {
308 provider_ = new MockVideoFrameProvider(task_runner_, message_loop_controller_, 309 provider_ = new MockVideoFrameProvider(task_runner_, message_loop_controller_,
309 error_cb, repaint_cb); 310 error_cb, repaint_cb);
310 311
311 return provider_; 312 return provider_;
312 } 313 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 430
430 MockVideoFrameProvider* WebMediaPlayerMSTest::LoadAndGetFrameProvider( 431 MockVideoFrameProvider* WebMediaPlayerMSTest::LoadAndGetFrameProvider(
431 bool algorithm_enabled) { 432 bool algorithm_enabled) {
432 EXPECT_FALSE(!!render_factory_->provider()) << "There should not be a " 433 EXPECT_FALSE(!!render_factory_->provider()) << "There should not be a "
433 "FrameProvider yet."; 434 "FrameProvider yet.";
434 435
435 EXPECT_CALL( 436 EXPECT_CALL(
436 *this, DoNetworkStateChanged(blink::WebMediaPlayer::NetworkStateLoading)); 437 *this, DoNetworkStateChanged(blink::WebMediaPlayer::NetworkStateLoading));
437 EXPECT_CALL( 438 EXPECT_CALL(
438 *this, DoReadyStateChanged(blink::WebMediaPlayer::ReadyStateHaveNothing)); 439 *this, DoReadyStateChanged(blink::WebMediaPlayer::ReadyStateHaveNothing));
439 player_.load(blink::WebMediaPlayer::LoadTypeURL, blink::WebURL(), 440 player_.load(blink::WebMediaPlayer::LoadTypeURL,
441 blink::WebMediaPlayerSource(),
440 blink::WebMediaPlayer::CORSModeUnspecified); 442 blink::WebMediaPlayer::CORSModeUnspecified);
441 compositor_ = player_.compositor_.get(); 443 compositor_ = player_.compositor_.get();
442 EXPECT_TRUE(!!compositor_); 444 EXPECT_TRUE(!!compositor_);
443 compositor_->SetAlgorithmEnabledForTesting(algorithm_enabled); 445 compositor_->SetAlgorithmEnabledForTesting(algorithm_enabled);
444 446
445 MockVideoFrameProvider* const provider = render_factory_->provider(); 447 MockVideoFrameProvider* const provider = render_factory_->provider();
446 EXPECT_TRUE(!!provider); 448 EXPECT_TRUE(!!provider);
447 EXPECT_TRUE(provider->Started()); 449 EXPECT_TRUE(provider->Started());
448 450
449 testing::Mock::VerifyAndClearExpectations(this); 451 testing::Mock::VerifyAndClearExpectations(this);
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 EXPECT_TRUE(player_.paused()); 750 EXPECT_TRUE(player_.paused());
749 751
750 // OnShown() should restart after a forced suspension. 752 // OnShown() should restart after a forced suspension.
751 player_.OnShown(); 753 player_.OnShown();
752 EXPECT_FALSE(player_.paused()); 754 EXPECT_FALSE(player_.paused());
753 EXPECT_CALL(*this, DoSetWebLayer(false)); 755 EXPECT_CALL(*this, DoSetWebLayer(false));
754 } 756 }
755 #endif 757 #endif
756 758
757 } // namespace content 759 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698