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

Side by Side Diff: media/mojo/services/test_mojo_media_client.h

Issue 2784433002: Ensures that audio tasks cannot run after AudioManager is deleted. (Closed)
Patch Set: rebase 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
« no previous file with comments | « media/cast/test/receiver.cc ('k') | media/mojo/services/test_mojo_media_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef MEDIA_MOJO_SERVICES_TEST_MOJO_MEDIA_CLIENT_H_ 5 #ifndef MEDIA_MOJO_SERVICES_TEST_MOJO_MEDIA_CLIENT_H_
6 #define MEDIA_MOJO_SERVICES_TEST_MOJO_MEDIA_CLIENT_H_ 6 #define MEDIA_MOJO_SERVICES_TEST_MOJO_MEDIA_CLIENT_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "media/audio/audio_manager.h"
13 #include "media/mojo/services/mojo_media_client.h" 12 #include "media/mojo/services/mojo_media_client.h"
14 13
15 namespace base { 14 namespace base {
16 class SingleThreadTaskRunner; 15 class SingleThreadTaskRunner;
17 } 16 }
18 17
19 namespace media { 18 namespace media {
20 19
20 class AudioManager;
21 class AudioRendererSink; 21 class AudioRendererSink;
22 class MediaLog; 22 class MediaLog;
23 class RendererFactory; 23 class RendererFactory;
24 class VideoRendererSink; 24 class VideoRendererSink;
25 25
26 // Default MojoMediaClient for MediaService. 26 // Default MojoMediaClient for MediaService.
27 class TestMojoMediaClient : public MojoMediaClient { 27 class TestMojoMediaClient : public MojoMediaClient {
28 public: 28 public:
29 TestMojoMediaClient(); 29 TestMojoMediaClient();
30 ~TestMojoMediaClient() final; 30 ~TestMojoMediaClient() final;
31 31
32 // MojoMediaClient implementation. 32 // MojoMediaClient implementation.
33 void Initialize(service_manager::Connector* connector) final; 33 void Initialize(service_manager::Connector* connector) final;
34 scoped_refptr<AudioRendererSink> CreateAudioRendererSink( 34 scoped_refptr<AudioRendererSink> CreateAudioRendererSink(
35 const std::string& audio_device_id) final; 35 const std::string& audio_device_id) final;
36 std::unique_ptr<VideoRendererSink> CreateVideoRendererSink( 36 std::unique_ptr<VideoRendererSink> CreateVideoRendererSink(
37 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) final; 37 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) final;
38 std::unique_ptr<RendererFactory> CreateRendererFactory( 38 std::unique_ptr<RendererFactory> CreateRendererFactory(
39 MediaLog* media_log) final; 39 MediaLog* media_log) final;
40 std::unique_ptr<CdmFactory> CreateCdmFactory( 40 std::unique_ptr<CdmFactory> CreateCdmFactory(
41 service_manager::mojom::InterfaceProvider* /* host_interfaces */) final; 41 service_manager::mojom::InterfaceProvider* /* host_interfaces */) final;
42 42
43 private: 43 private:
44 ScopedAudioManagerPtr audio_manager_; 44 std::unique_ptr<AudioManager> audio_manager_;
45 45
46 DISALLOW_COPY_AND_ASSIGN(TestMojoMediaClient); 46 DISALLOW_COPY_AND_ASSIGN(TestMojoMediaClient);
47 }; 47 };
48 48
49 } // namespace media 49 } // namespace media
50 50
51 #endif // MEDIA_MOJO_SERVICES_TEST_MOJO_MEDIA_CLIENT_H_ 51 #endif // MEDIA_MOJO_SERVICES_TEST_MOJO_MEDIA_CLIENT_H_
OLDNEW
« no previous file with comments | « media/cast/test/receiver.cc ('k') | media/mojo/services/test_mojo_media_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698