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

Side by Side Diff: chromecast/browser/media/cast_browser_cdm_factory.h

Issue 1814263002: [chromecast] Start deprecating MediaMessageLoop. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: fixed weak_ptr deref issue Created 4 years, 9 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 #ifndef CHROMECAST_BROWSER_MEDIA_CAST_BROWSER_CDM_FACTORY_H_ 5 #ifndef CHROMECAST_BROWSER_MEDIA_CAST_BROWSER_CDM_FACTORY_H_
6 #define CHROMECAST_BROWSER_MEDIA_CAST_BROWSER_CDM_FACTORY_H_ 6 #define CHROMECAST_BROWSER_MEDIA_CAST_BROWSER_CDM_FACTORY_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "chromecast/media/base/key_systems_common.h" 9 #include "chromecast/media/base/key_systems_common.h"
10 #include "media/base/cdm_factory.h" 10 #include "media/base/cdm_factory.h"
11 #include "media/base/media_keys.h" 11 #include "media/base/media_keys.h"
12 12
13 namespace base {
14 class SingleThreadTaskRunner;
15 } // namespace base
16
13 namespace chromecast { 17 namespace chromecast {
14 namespace media { 18 namespace media {
15 19
16 class BrowserCdmCast; 20 class BrowserCdmCast;
17 21
18 class CastBrowserCdmFactory : public ::media::CdmFactory { 22 class CastBrowserCdmFactory : public ::media::CdmFactory {
19 public: 23 public:
20 CastBrowserCdmFactory() {} 24 // CDM factory will use |task_runner| to initialize the CDM.
21 ~CastBrowserCdmFactory() override {}; 25 explicit CastBrowserCdmFactory(
26 scoped_refptr<base::SingleThreadTaskRunner> task_runner);
27 ~CastBrowserCdmFactory() override;
22 28
23 // ::media::CdmFactory implementation: 29 // ::media::CdmFactory implementation:
24 void Create( 30 void Create(
25 const std::string& key_system, 31 const std::string& key_system,
26 const GURL& security_origin, 32 const GURL& security_origin,
27 const ::media::CdmConfig& cdm_config, 33 const ::media::CdmConfig& cdm_config,
28 const ::media::SessionMessageCB& session_message_cb, 34 const ::media::SessionMessageCB& session_message_cb,
29 const ::media::SessionClosedCB& session_closed_cb, 35 const ::media::SessionClosedCB& session_closed_cb,
30 const ::media::LegacySessionErrorCB& legacy_session_error_cb, 36 const ::media::LegacySessionErrorCB& legacy_session_error_cb,
31 const ::media::SessionKeysChangeCB& session_keys_change_cb, 37 const ::media::SessionKeysChangeCB& session_keys_change_cb,
32 const ::media::SessionExpirationUpdateCB& session_expiration_update_cb, 38 const ::media::SessionExpirationUpdateCB& session_expiration_update_cb,
33 const ::media::CdmCreatedCB& cdm_created_cb) override; 39 const ::media::CdmCreatedCB& cdm_created_cb) override;
34 40
35 // Provides a platform-specific BrowserCdm instance. 41 // Provides a platform-specific BrowserCdm instance.
36 virtual scoped_refptr<BrowserCdmCast> CreatePlatformBrowserCdm( 42 virtual scoped_refptr<BrowserCdmCast> CreatePlatformBrowserCdm(
37 const CastKeySystem& cast_key_system); 43 const CastKeySystem& cast_key_system);
38 44
39 private: 45 private:
46 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
40 DISALLOW_COPY_AND_ASSIGN(CastBrowserCdmFactory); 47 DISALLOW_COPY_AND_ASSIGN(CastBrowserCdmFactory);
41 }; 48 };
42 49
43 } // namespace media 50 } // namespace media
44 } // namespace chromecast 51 } // namespace chromecast
45 52
46 #endif // CHROMECAST_BROWSER_MEDIA_CAST_BROWSER_CDM_FACTORY_H_ 53 #endif // CHROMECAST_BROWSER_MEDIA_CAST_BROWSER_CDM_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698