summaryrefslogtreecommitdiff
path: root/chromium/content/browser/media/android
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/media/android')
-rw-r--r--chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.cc24
-rw-r--r--chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.h8
-rw-r--r--chromium/content/browser/media/android/media_player_renderer.cc10
-rw-r--r--chromium/content/browser/media/android/media_player_renderer.h2
-rw-r--r--chromium/content/browser/media/android/media_resource_getter_impl.cc9
5 files changed, 35 insertions, 18 deletions
diff --git a/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.cc b/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.cc
index c5b995e3372..c17156446cd 100644
--- a/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.cc
+++ b/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.cc
@@ -5,6 +5,7 @@
#include "content/browser/media/android/browser_gpu_video_accelerator_factories.h"
#include "base/bind.h"
+#include "base/threading/sequenced_task_runner_handle.h"
#include "content/browser/browser_main_loop.h"
#include "content/public/browser/android/gpu_video_accelerator_factories_provider.h"
#include "content/public/common/gpu_stream_constants.h"
@@ -102,10 +103,21 @@ media::GpuVideoAcceleratorFactories::Supported
BrowserGpuVideoAcceleratorFactories::IsDecoderConfigSupported(
media::VideoDecoderImplementation implementation,
const media::VideoDecoderConfig& config) {
- // TODO(sandersd): Add a cache here too?
+ // Tell the caller to just try it, there are no other decoders to fall back on
+ // anyway.
return media::GpuVideoAcceleratorFactories::Supported::kTrue;
}
+bool BrowserGpuVideoAcceleratorFactories::IsDecoderSupportKnown() {
+ return true;
+}
+
+void BrowserGpuVideoAcceleratorFactories::NotifyDecoderSupportKnown(
+ base::OnceClosure callback) {
+ base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE,
+ std::move(callback));
+}
+
std::unique_ptr<media::VideoDecoder>
BrowserGpuVideoAcceleratorFactories::CreateVideoDecoder(
media::MediaLog* media_log,
@@ -171,6 +183,16 @@ BrowserGpuVideoAcceleratorFactories::
return media::VideoEncodeAccelerator::SupportedProfiles();
}
+bool BrowserGpuVideoAcceleratorFactories::IsEncoderSupportKnown() {
+ return true;
+}
+
+void BrowserGpuVideoAcceleratorFactories::NotifyEncoderSupportKnown(
+ base::OnceClosure callback) {
+ base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE,
+ std::move(callback));
+}
+
viz::RasterContextProvider*
BrowserGpuVideoAcceleratorFactories::GetMediaContextProvider() {
return context_provider_.get();
diff --git a/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.h b/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.h
index b7d89119ce3..c85710fcb3f 100644
--- a/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.h
+++ b/chromium/content/browser/media/android/browser_gpu_video_accelerator_factories.h
@@ -31,10 +31,16 @@ class BrowserGpuVideoAcceleratorFactories
Supported IsDecoderConfigSupported(
media::VideoDecoderImplementation implementation,
const media::VideoDecoderConfig& config) override;
+ bool IsDecoderSupportKnown() override;
+ void NotifyDecoderSupportKnown(base::OnceClosure) override;
std::unique_ptr<media::VideoDecoder> CreateVideoDecoder(
media::MediaLog* media_log,
media::VideoDecoderImplementation implementation,
media::RequestOverlayInfoCB request_overlay_info_cb) override;
+ base::Optional<media::VideoEncodeAccelerator::SupportedProfiles>
+ GetVideoEncodeAcceleratorSupportedProfiles() override;
+ bool IsEncoderSupportKnown() override;
+ void NotifyEncoderSupportKnown(base::OnceClosure) override;
std::unique_ptr<media::VideoEncodeAccelerator> CreateVideoEncodeAccelerator()
override;
std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer(
@@ -50,8 +56,6 @@ class BrowserGpuVideoAcceleratorFactories
gpu::GpuMemoryBufferManager* GpuMemoryBufferManager() override;
base::UnsafeSharedMemoryRegion CreateSharedMemoryRegion(size_t size) override;
scoped_refptr<base::SingleThreadTaskRunner> GetTaskRunner() override;
- base::Optional<media::VideoEncodeAccelerator::SupportedProfiles>
- GetVideoEncodeAcceleratorSupportedProfiles() override;
viz::RasterContextProvider* GetMediaContextProvider() override;
void SetRenderingColorSpace(const gfx::ColorSpace& color_space) override;
diff --git a/chromium/content/browser/media/android/media_player_renderer.cc b/chromium/content/browser/media/android/media_player_renderer.cc
index e5fe440cc7b..3ffdc49559d 100644
--- a/chromium/content/browser/media/android/media_player_renderer.cc
+++ b/chromium/content/browser/media/android/media_player_renderer.cc
@@ -8,7 +8,6 @@
#include "base/bind.h"
#include "base/callback_helpers.h"
-#include "base/task/post_task.h"
#include "content/browser/android/scoped_surface_request_manager.h"
#include "content/browser/media/android/media_player_renderer_web_contents_observer.h"
#include "content/browser/media/android/media_resource_getter_impl.h"
@@ -94,8 +93,8 @@ void MediaPlayerRenderer::Initialize(media::MediaResource* media_resource,
return;
}
- base::PostDelayedTask(
- FROM_HERE, {BrowserThread::UI},
+ GetUIThreadTaskRunner({})->PostDelayedTask(
+ FROM_HERE,
base::BindOnce(&MediaPlayerRenderer::CreateMediaPlayer,
weak_factory_.GetWeakPtr(),
media_resource->GetMediaUrlParams(), std::move(init_cb)),
@@ -130,11 +129,6 @@ void MediaPlayerRenderer::CreateMediaPlayer(
std::move(init_cb).Run(media::PIPELINE_OK);
}
-void MediaPlayerRenderer::SetCdm(media::CdmContext* cdm_context,
- media::CdmAttachedCB cdm_attached_cb) {
- NOTREACHED();
-}
-
void MediaPlayerRenderer::SetLatencyHint(
base::Optional<base::TimeDelta> latency_hint) {}
diff --git a/chromium/content/browser/media/android/media_player_renderer.h b/chromium/content/browser/media/android/media_player_renderer.h
index 517e82e5675..c61ec6d8d99 100644
--- a/chromium/content/browser/media/android/media_player_renderer.h
+++ b/chromium/content/browser/media/android/media_player_renderer.h
@@ -59,8 +59,6 @@ class CONTENT_EXPORT MediaPlayerRenderer
void Initialize(media::MediaResource* media_resource,
media::RendererClient* client,
media::PipelineStatusCallback init_cb) override;
- void SetCdm(media::CdmContext* cdm_context,
- media::CdmAttachedCB cdm_attached_cb) override;
void SetLatencyHint(base::Optional<base::TimeDelta> latency_hint) override;
void Flush(base::OnceClosure flush_cb) override;
void StartPlayingFrom(base::TimeDelta time) override;
diff --git a/chromium/content/browser/media/android/media_resource_getter_impl.cc b/chromium/content/browser/media/android/media_resource_getter_impl.cc
index b9124937651..16648592df1 100644
--- a/chromium/content/browser/media/android/media_resource_getter_impl.cc
+++ b/chromium/content/browser/media/android/media_resource_getter_impl.cc
@@ -8,7 +8,6 @@
#include "base/macros.h"
#include "base/path_service.h"
#include "base/single_thread_task_runner.h"
-#include "base/task/post_task.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/file_system/browser_file_system_helper.h"
#include "content/browser/frame_host/render_frame_host_impl.h"
@@ -69,16 +68,16 @@ GetRestrictedCookieManagerForContext(
void ReturnResultOnUIThread(
base::OnceCallback<void(const std::string&)> callback,
const std::string& result) {
- base::PostTask(FROM_HERE, {BrowserThread::UI},
- base::BindOnce(std::move(callback), result));
+ GetUIThreadTaskRunner({})->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), result));
}
void ReturnResultOnUIThreadAndClosePipe(
mojo::Remote<network::mojom::RestrictedCookieManager> pipe,
base::OnceCallback<void(const std::string&)> callback,
const std::string& result) {
- base::PostTask(FROM_HERE, {BrowserThread::UI},
- base::BindOnce(std::move(callback), result));
+ GetUIThreadTaskRunner({})->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), result));
}
void OnSyncGetPlatformPathDone(