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

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: wolenetz 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/WebMediaElementSource.h"
13 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" 14 #include "third_party/WebKit/public/platform/WebMediaPlayer.h"
14 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" 15 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.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
(...skipping 243 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 429
429 MockVideoFrameProvider* WebMediaPlayerMSTest::LoadAndGetFrameProvider( 430 MockVideoFrameProvider* WebMediaPlayerMSTest::LoadAndGetFrameProvider(
430 bool algorithm_enabled) { 431 bool algorithm_enabled) {
431 EXPECT_FALSE(!!render_factory_->provider()) << "There should not be a " 432 EXPECT_FALSE(!!render_factory_->provider()) << "There should not be a "
432 "FrameProvider yet."; 433 "FrameProvider yet.";
433 434
434 EXPECT_CALL( 435 EXPECT_CALL(
435 *this, DoNetworkStateChanged(blink::WebMediaPlayer::NetworkStateLoading)); 436 *this, DoNetworkStateChanged(blink::WebMediaPlayer::NetworkStateLoading));
436 EXPECT_CALL( 437 EXPECT_CALL(
437 *this, DoReadyStateChanged(blink::WebMediaPlayer::ReadyStateHaveNothing)); 438 *this, DoReadyStateChanged(blink::WebMediaPlayer::ReadyStateHaveNothing));
438 player_.load(blink::WebMediaPlayer::LoadTypeURL, blink::WebURL(), 439 player_.load(blink::WebMediaPlayer::LoadTypeURL,
440 blink::WebMediaElementSource(),
439 blink::WebMediaPlayer::CORSModeUnspecified); 441 blink::WebMediaPlayer::CORSModeUnspecified);
440 compositor_ = player_.compositor_.get(); 442 compositor_ = player_.compositor_.get();
441 EXPECT_TRUE(!!compositor_); 443 EXPECT_TRUE(!!compositor_);
442 compositor_->SetAlgorithmEnabledForTesting(algorithm_enabled); 444 compositor_->SetAlgorithmEnabledForTesting(algorithm_enabled);
443 445
444 MockVideoFrameProvider* const provider = render_factory_->provider(); 446 MockVideoFrameProvider* const provider = render_factory_->provider();
445 EXPECT_TRUE(!!provider); 447 EXPECT_TRUE(!!provider);
446 EXPECT_TRUE(provider->Started()); 448 EXPECT_TRUE(provider->Started());
447 449
448 testing::Mock::VerifyAndClearExpectations(this); 450 testing::Mock::VerifyAndClearExpectations(this);
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 EXPECT_TRUE(player_.paused()); 749 EXPECT_TRUE(player_.paused());
748 750
749 // OnShown() should restart after a forced suspension. 751 // OnShown() should restart after a forced suspension.
750 player_.OnShown(); 752 player_.OnShown();
751 EXPECT_FALSE(player_.paused()); 753 EXPECT_FALSE(player_.paused());
752 EXPECT_CALL(*this, DoSetWebLayer(false)); 754 EXPECT_CALL(*this, DoSetWebLayer(false));
753 } 755 }
754 #endif 756 #endif
755 757
756 } // namespace content 758 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698