Index: media/base/android/media_drm_bridge.h |
diff --git a/media/base/android/media_drm_bridge.h b/media/base/android/media_drm_bridge.h |
index 80f3c47a429311345d3742962320990f07e3c5b5..d1d7a1c95dfb198f3e09081c0d1b0249b04c7664 100644 |
--- a/media/base/android/media_drm_bridge.h |
+++ b/media/base/android/media_drm_bridge.h |
@@ -145,9 +145,11 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker { |
const std::string& session_id); |
void RejectPromise(uint32_t promise_id, const std::string& error_message); |
- // Returns a MediaCrypto object if it's already created. Returns a null object |
- // otherwise. |
- base::android::ScopedJavaLocalRef<jobject> GetMediaCrypto(); |
+ // Returns a MediaCrypto object. Can only be called after |j_media_crypto_| |
+ // is set. |
+ // TODO(xhwang): This is only used by MediaSourcePlayer et al. Remove this |
+ // method when MediaSourcePlayer is deprecated. |
+ jobject GetMediaCrypto(); |
// Registers a callback which will be called when MediaCrypto is ready. |
// Can be called on any thread. Only one callback should be registered. |
@@ -162,7 +164,8 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker { |
// Called by Java after a MediaCrypto object is created. |
void OnMediaCryptoReady( |
JNIEnv* env, |
- const base::android::JavaParamRef<jobject>& j_media_drm); |
+ const base::android::JavaParamRef<jobject>& j_media_drm, |
+ const base::android::JavaParamRef<jobject>& j_media_crypto); |
// Called by Java when we need to send a provisioning request, |
void OnStartProvisioning( |
@@ -260,9 +263,11 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker { |
// Get the security level of the media. |
SecurityLevel GetSecurityLevel(); |
- // A helper method that calculates the |media_crypto_ready_cb_| arguments and |
- // run this callback. |
- void NotifyMediaCryptoReady(const MediaCryptoReadyCB& cb); |
+ // A helper method to create a JavaObjectPtr. |
+ JavaObjectPtr CreateJavaObjectPtr(jobject object); |
+ |
+ // A helper method that is called when MediaCrypto is ready. |
+ void NotifyMediaCryptoReady(JavaObjectPtr j_media_crypto); |
// Sends HTTP provisioning request to a provisioning server. |
void SendProvisioningRequest(const std::string& default_url, |
@@ -277,6 +282,13 @@ class MEDIA_EXPORT MediaDrmBridge : public MediaKeys, public PlayerTracker { |
// Java MediaDrm instance. |
base::android::ScopedJavaGlobalRef<jobject> j_media_drm_; |
+ // Java MediaCrypto instance. Possible values are: |
+ // !j_media_crypto_: MediaCrypto creation has not been notified (through |
+ // NotifyMediaCryptoReady()). |
+ // !j_media_crypto_->is_null(): MediaCrypto successfully created and notified. |
+ // j_media_crypto_->is_null(): MediaCrypto notified but creation failed. |
Tima Vaisburd
2015/12/11 02:15:21
nit: I'd change the order: "MediaCrypto creation f
xhwang
2015/12/11 05:50:19
Done.
|
+ JavaObjectPtr j_media_crypto_; |
+ |
// The callback to create a ProvisionFetcher. |
CreateFetcherCB create_fetcher_cb_; |