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

Side by Side Diff: media/base/android/android_cdm_factory.cc

Issue 1837143002: media: Pass MediaPermission to MediaDrmBridge Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More plumbing Created 4 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/base/android/android_cdm_factory.h ('k') | media/base/android/media_drm_bridge.h » ('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 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 "media/base/android/android_cdm_factory.h" 5 #include "media/base/android/android_cdm_factory.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "media/base/android/media_drm_bridge.h" 8 #include "media/base/android/media_drm_bridge.h"
9 #include "media/base/bind_to_current_loop.h" 9 #include "media/base/bind_to_current_loop.h"
10 #include "media/base/cdm_config.h" 10 #include "media/base/cdm_config.h"
11 #include "media/base/key_systems.h" 11 #include "media/base/key_systems.h"
12 #include "third_party/widevine/cdm/widevine_cdm_common.h" 12 #include "third_party/widevine/cdm/widevine_cdm_common.h"
13 #include "url/gurl.h" 13 #include "url/gurl.h"
14 14
15 namespace media { 15 namespace media {
16 16
17 AndroidCdmFactory::AndroidCdmFactory(const CreateFetcherCB& create_fetcher_cb) 17 AndroidCdmFactory::AndroidCdmFactory(MediaPermission* media_permission,
18 : create_fetcher_cb_(create_fetcher_cb) {} 18 const CreateFetcherCB& create_fetcher_cb)
19 : media_permission_(media_permission),
20 create_fetcher_cb_(create_fetcher_cb) {}
19 21
20 AndroidCdmFactory::~AndroidCdmFactory() {} 22 AndroidCdmFactory::~AndroidCdmFactory() {}
21 23
22 void AndroidCdmFactory::Create( 24 void AndroidCdmFactory::Create(
23 const std::string& key_system, 25 const std::string& key_system,
24 const GURL& security_origin, 26 const GURL& security_origin,
25 const CdmConfig& cdm_config, 27 const CdmConfig& cdm_config,
26 const SessionMessageCB& session_message_cb, 28 const SessionMessageCB& session_message_cb,
27 const SessionClosedCB& session_closed_cb, 29 const SessionClosedCB& session_closed_cb,
28 const LegacySessionErrorCB& legacy_session_error_cb, 30 const LegacySessionErrorCB& legacy_session_error_cb,
(...skipping 28 matching lines...) Expand all
57 // support full compositing. 59 // support full compositing.
58 error_message = 60 error_message =
59 key_system + 61 key_system +
60 " may require use_video_overlay_for_embedded_encrypted_video"; 62 " may require use_video_overlay_for_embedded_encrypted_video";
61 NOTREACHED() << error_message; 63 NOTREACHED() << error_message;
62 bound_cdm_created_cb.Run(nullptr, error_message); 64 bound_cdm_created_cb.Run(nullptr, error_message);
63 return; 65 return;
64 } 66 }
65 67
66 scoped_refptr<MediaDrmBridge> cdm(MediaDrmBridge::Create( 68 scoped_refptr<MediaDrmBridge> cdm(MediaDrmBridge::Create(
67 key_system, security_level, create_fetcher_cb_, session_message_cb, 69 key_system, security_origin, security_level, media_permission_,
68 session_closed_cb, legacy_session_error_cb, session_keys_change_cb, 70 create_fetcher_cb_, session_message_cb, session_closed_cb,
71 legacy_session_error_cb, session_keys_change_cb,
69 session_expiration_update_cb)); 72 session_expiration_update_cb));
70 if (!cdm) { 73 if (!cdm) {
71 error_message = "MediaDrmBridge cannot be created for " + key_system + 74 error_message = "MediaDrmBridge cannot be created for " + key_system +
72 " with security level " + base::IntToString(security_level); 75 " with security level " + base::IntToString(security_level);
73 LOG(ERROR) << error_message; 76 LOG(ERROR) << error_message;
74 bound_cdm_created_cb.Run(nullptr, error_message); 77 bound_cdm_created_cb.Run(nullptr, error_message);
75 return; 78 return;
76 } 79 }
77 80
78 // Success! 81 // Success!
79 bound_cdm_created_cb.Run(cdm, ""); 82 bound_cdm_created_cb.Run(cdm, "");
80 } 83 }
81 84
82 } // namespace media 85 } // namespace media
OLDNEW
« no previous file with comments | « media/base/android/android_cdm_factory.h ('k') | media/base/android/media_drm_bridge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698