diff --git a/content/browser/media/ohos/ohos_custom_media_player_renderer.cc b/content/browser/media/ohos/ohos_custom_media_player_renderer.cc index 4081281c21b4b1ccd4a0e01e880d026b9fd33227..216dc2c4918e2f13515011a7ee19a712d7298dbf 100644 --- a/content/browser/media/ohos/ohos_custom_media_player_renderer.cc +++ b/content/browser/media/ohos/ohos_custom_media_player_renderer.cc @@ -255,14 +255,14 @@ void OHOSCustomMediaPlayerRenderer::Initialize(media::MediaResource* media_resou renderer_client_ = client; - if (media_resource->GetType() != media::MediaResource::Type::URL) { + if (media_source == nullptr || media_resource->GetType() != media::MediaResource::Type::URL) { DLOG(ERROR) << "MediaResource is not of Type URL"; std::move(init_cb).Run(media::PIPELINE_ERROR_INITIALIZATION_FAILED); return; } init_cb_ = std::move(init_cb); - media_resource_ = media_resource; + media_url_params_ = std::make_shared(media_resource->GetMediaUrlParams()); GetCookies(); } @@ -270,13 +270,13 @@ void OHOSCustomMediaPlayerRenderer::Initialize(media::MediaResource* media_resou void OHOSCustomMediaPlayerRenderer::GetCookies() { DCHECK_CURRENTLY_ON(BrowserThread::UI); - const GURL& url = media_resource_->GetMediaUrlParams().media_url; + const GURL& url = media_url_params_->media_url; const net::SiteForCookies& site_for_cookies = - media_resource_->GetMediaUrlParams().site_for_cookies; + media_url_params_->site_for_cookies; const url::Origin& top_frame_origin = - media_resource_->GetMediaUrlParams().top_frame_origin; + media_url_params_->top_frame_origin; bool has_storage_access = - media_resource_->GetMediaUrlParams().has_storage_access; + media_url_params_->has_storage_access; base::OnceCallback callback = base::BindOnce(&OHOSCustomMediaPlayerRenderer::OnCookiesRetrieved, @@ -366,7 +366,7 @@ void OHOSCustomMediaPlayerRenderer::CreateMediaPlayer() { for (const auto& info : source_infos_) { media_info.media_src_list.push_back({ static_cast( - media_resource_->GetMediaUrlParams().custom_media_url_params.media_source_type), + media_url_params_->custom_media_url_params.media_source_type), info.media_source, info.media_format}); } media_info.surface_info.id = surface_id_string; @@ -379,7 +379,7 @@ void OHOSCustomMediaPlayerRenderer::CreateMediaPlayer() { media_info.muted = muted_; media_info.poster_url = poster_url_; media_info.preload = ConvertTo( - media_resource_->GetMediaUrlParams().custom_media_url_params.preload_type); + media_url_params_->custom_media_url_params.preload_type); if (!cookies_->empty()) { media_info.https_headers.insert(std::make_pair( net::HttpRequestHeaders::kCookie, diff --git a/content/browser/media/ohos/ohos_custom_media_player_renderer.h b/content/browser/media/ohos/ohos_custom_media_player_renderer.h index 3e912419b19550a868feef14db7498e810f4248d..fcbce5e13f46e9b1fbc5611e4467c2e98194d9ed 100644 --- a/content/browser/media/ohos/ohos_custom_media_player_renderer.h +++ b/content/browser/media/ohos/ohos_custom_media_player_renderer.h @@ -145,7 +145,7 @@ class CONTENT_EXPORT OHOSCustomMediaPlayerRenderer gfx::Rect video_rect_; - media::MediaResource* media_resource_; + std::shared_ptr media_url_params_; base::TimeDelta media_time_;