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

Side by Side Diff: media/mojo/clients/mojo_renderer_unittest.cc

Issue 2281843003: Move ownership of audio/video sinks to MojoRendererService. (Closed)
Patch Set: rebase Created 4 years, 3 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "base/threading/platform_thread.h" 11 #include "base/threading/platform_thread.h"
12 #include "media/base/audio_renderer_sink.h"
12 #include "media/base/cdm_config.h" 13 #include "media/base/cdm_config.h"
13 #include "media/base/cdm_context.h" 14 #include "media/base/cdm_context.h"
14 #include "media/base/gmock_callback_support.h" 15 #include "media/base/gmock_callback_support.h"
15 #include "media/base/mock_filters.h" 16 #include "media/base/mock_filters.h"
16 #include "media/base/test_helpers.h" 17 #include "media/base/test_helpers.h"
18 #include "media/base/video_renderer_sink.h"
17 #include "media/cdm/default_cdm_factory.h" 19 #include "media/cdm/default_cdm_factory.h"
18 #include "media/mojo/clients/mojo_renderer.h" 20 #include "media/mojo/clients/mojo_renderer.h"
19 #include "media/mojo/common/media_type_converters.h" 21 #include "media/mojo/common/media_type_converters.h"
20 #include "media/mojo/interfaces/content_decryption_module.mojom.h" 22 #include "media/mojo/interfaces/content_decryption_module.mojom.h"
21 #include "media/mojo/interfaces/renderer.mojom.h" 23 #include "media/mojo/interfaces/renderer.mojom.h"
22 #include "media/mojo/services/mojo_cdm_service.h" 24 #include "media/mojo/services/mojo_cdm_service.h"
23 #include "media/mojo/services/mojo_cdm_service_context.h" 25 #include "media/mojo/services/mojo_cdm_service_context.h"
24 #include "media/mojo/services/mojo_renderer_service.h" 26 #include "media/mojo/services/mojo_renderer_service.h"
25 #include "media/renderers/video_overlay_factory.h" 27 #include "media/renderers/video_overlay_factory.h"
26 #include "mojo/public/cpp/bindings/interface_request.h" 28 #include "mojo/public/cpp/bindings/interface_request.h"
(...skipping 17 matching lines...) Expand all
44 class MojoRendererTest : public ::testing::Test { 46 class MojoRendererTest : public ::testing::Test {
45 public: 47 public:
46 MojoRendererTest() { 48 MojoRendererTest() {
47 std::unique_ptr<StrictMock<MockRenderer>> mock_renderer( 49 std::unique_ptr<StrictMock<MockRenderer>> mock_renderer(
48 new StrictMock<MockRenderer>()); 50 new StrictMock<MockRenderer>());
49 mock_renderer_ = mock_renderer.get(); 51 mock_renderer_ = mock_renderer.get();
50 52
51 mojom::RendererPtr remote_renderer; 53 mojom::RendererPtr remote_renderer;
52 54
53 mojo_renderer_service_ = new MojoRendererService( 55 mojo_renderer_service_ = new MojoRendererService(
54 mojo_cdm_service_context_.GetWeakPtr(), std::move(mock_renderer), 56 mojo_cdm_service_context_.GetWeakPtr(), nullptr, nullptr,
55 mojo::GetProxy(&remote_renderer)); 57 std::move(mock_renderer), mojo::GetProxy(&remote_renderer));
56 58
57 mojo_renderer_.reset( 59 mojo_renderer_.reset(
58 new MojoRenderer(message_loop_.task_runner(), 60 new MojoRenderer(message_loop_.task_runner(),
59 std::unique_ptr<VideoOverlayFactory>(nullptr), nullptr, 61 std::unique_ptr<VideoOverlayFactory>(nullptr), nullptr,
60 std::move(remote_renderer))); 62 std::move(remote_renderer)));
61 63
62 // CreateAudioStream() and CreateVideoStream() overrides expectations for 64 // CreateAudioStream() and CreateVideoStream() overrides expectations for
63 // expected non-NULL streams. 65 // expected non-NULL streams.
64 EXPECT_CALL(demuxer_, GetStream(_)).WillRepeatedly(Return(nullptr)); 66 EXPECT_CALL(demuxer_, GetStream(_)).WillRepeatedly(Return(nullptr));
65 67
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 Play(); 389 Play();
388 remote_renderer_client_->OnError(PIPELINE_ERROR_DECODE); 390 remote_renderer_client_->OnError(PIPELINE_ERROR_DECODE);
389 base::RunLoop().RunUntilIdle(); 391 base::RunLoop().RunUntilIdle();
390 392
391 EXPECT_CALL(*mock_renderer_, SetPlaybackRate(0.0)).Times(1); 393 EXPECT_CALL(*mock_renderer_, SetPlaybackRate(0.0)).Times(1);
392 mojo_renderer_->SetPlaybackRate(0.0); 394 mojo_renderer_->SetPlaybackRate(0.0);
393 Flush(); 395 Flush();
394 } 396 }
395 397
396 } // namespace media 398 } // namespace media
OLDNEW
« no previous file with comments | « chromecast/browser/media/cast_mojo_media_client.cc ('k') | media/mojo/services/mojo_media_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698