Commit 5875f78c authored by Yuchen Liu's avatar Yuchen Liu Committed by Commit Bot

[Chromecast] Nullable MediaResourceTracker in CastCdm

This means the implementation doesn't need hardware resource.

Bug: internal b/141143745
Test: Widevine content
Merge-With: eureka-internal/327150
Change-Id: Ia6d5494b19301311b6d70836c0ef4d9f36bbba6b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1869931Reviewed-by: default avatarKenneth MacKay <kmackay@chromium.org>
Commit-Queue: Yuchen Liu <yucliu@chromium.org>
Auto-Submit: Yuchen Liu <yucliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#708361}
parent d61d76cd
...@@ -104,7 +104,6 @@ int HdcpVersionX10(::media::HdcpVersion hdcp_version) { ...@@ -104,7 +104,6 @@ int HdcpVersionX10(::media::HdcpVersion hdcp_version) {
CastCdm::CastCdm(MediaResourceTracker* media_resource_tracker) CastCdm::CastCdm(MediaResourceTracker* media_resource_tracker)
: media_resource_tracker_(media_resource_tracker), : media_resource_tracker_(media_resource_tracker),
cast_cdm_context_(new CastCdmContextImpl(this)) { cast_cdm_context_(new CastCdmContextImpl(this)) {
DCHECK(media_resource_tracker);
thread_checker_.DetachFromThread(); thread_checker_.DetachFromThread();
} }
...@@ -112,7 +111,6 @@ CastCdm::~CastCdm() { ...@@ -112,7 +111,6 @@ CastCdm::~CastCdm() {
DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(player_tracker_impl_.get()); DCHECK(player_tracker_impl_.get());
player_tracker_impl_->NotifyCdmUnset(); player_tracker_impl_->NotifyCdmUnset();
media_resource_tracker_->DecrementUsageCount();
} }
void CastCdm::Initialize( void CastCdm::Initialize(
...@@ -122,7 +120,11 @@ void CastCdm::Initialize( ...@@ -122,7 +120,11 @@ void CastCdm::Initialize(
const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) { const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) {
DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(thread_checker_.CalledOnValidThread());
media_resource_tracker_->IncrementUsageCount(); if (media_resource_tracker_) {
media_resource_usage_ = std::make_unique<MediaResourceTracker::ScopedUsage>(
media_resource_tracker_);
}
player_tracker_impl_.reset(new ::media::PlayerTrackerImpl()); player_tracker_impl_.reset(new ::media::PlayerTrackerImpl());
session_message_cb_ = session_message_cb; session_message_cb_ = session_message_cb;
......
...@@ -103,7 +103,10 @@ class CastCdm : public ::media::ContentDecryptionModule { ...@@ -103,7 +103,10 @@ class CastCdm : public ::media::ContentDecryptionModule {
::media::SessionKeysChangeCB session_keys_change_cb_; ::media::SessionKeysChangeCB session_keys_change_cb_;
::media::SessionExpirationUpdateCB session_expiration_update_cb_; ::media::SessionExpirationUpdateCB session_expiration_update_cb_;
MediaResourceTracker* media_resource_tracker_; // Track the usage for hardware resource. nullptr means the implementation
// doesn't need hardware resource.
MediaResourceTracker* const media_resource_tracker_;
std::unique_ptr<MediaResourceTracker::ScopedUsage> media_resource_usage_;
std::unique_ptr<::media::PlayerTrackerImpl> player_tracker_impl_; std::unique_ptr<::media::PlayerTrackerImpl> player_tracker_impl_;
std::unique_ptr<CastCdmContext> cast_cdm_context_; std::unique_ptr<CastCdmContext> cast_cdm_context_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment