summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/common/gpu/media/vaapi_wrapper.cc12
-rw-r--r--content/common/gpu/media/vaapi_wrapper.h3
-rw-r--r--content/common/gpu/media/video_decode_accelerator_unittest.cc4
-rw-r--r--content/common/sandbox_seccomp_bpf_linux.cc6
-rw-r--r--content/gpu/gpu_main.cc4
5 files changed, 6 insertions, 23 deletions
diff --git a/content/common/gpu/media/vaapi_wrapper.cc b/content/common/gpu/media/vaapi_wrapper.cc
index 6c201aa..53e8b69 100644
--- a/content/common/gpu/media/vaapi_wrapper.cc
+++ b/content/common/gpu/media/vaapi_wrapper.cc
@@ -434,19 +434,11 @@ bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
}
// static
-bool VaapiWrapper::pre_sandbox_init_done_ = false;
-
-// static
-void VaapiWrapper::PreSandboxInitialization() {
- DCHECK(!pre_sandbox_init_done_);
+bool VaapiWrapper::PostSandboxInitialization() {
vaapi_handle = dlopen("libva.so.1", RTLD_NOW);
vaapi_x11_handle = dlopen("libva-x11.so.1", RTLD_NOW);
- pre_sandbox_init_done_ = vaapi_handle && vaapi_x11_handle;
-}
-// static
-bool VaapiWrapper::PostSandboxInitialization() {
- if (!pre_sandbox_init_done_)
+ if (!vaapi_handle || !vaapi_x11_handle)
return false;
#define VAAPI_DLSYM_OR_RETURN_ON_ERROR(name, handle) \
do { \
diff --git a/content/common/gpu/media/vaapi_wrapper.h b/content/common/gpu/media/vaapi_wrapper.h
index 82bae94..850bebd 100644
--- a/content/common/gpu/media/vaapi_wrapper.h
+++ b/content/common/gpu/media/vaapi_wrapper.h
@@ -78,9 +78,6 @@ class CONTENT_EXPORT VaapiWrapper {
Pixmap x_pixmap,
gfx::Size dest_size);
- // Do any necessary initialization before the sandbox is enabled.
- static void PreSandboxInitialization();
-
// Returns true if the VAAPI version is less than the specified version.
bool VAAPIVersionLessThan(int major, int minor);
diff --git a/content/common/gpu/media/video_decode_accelerator_unittest.cc b/content/common/gpu/media/video_decode_accelerator_unittest.cc
index cb458eb..2d1b006 100644
--- a/content/common/gpu/media/video_decode_accelerator_unittest.cc
+++ b/content/common/gpu/media/video_decode_accelerator_unittest.cc
@@ -1518,9 +1518,5 @@ int main(int argc, char **argv) {
base::ShadowingAtExitManager at_exit_manager;
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
- content::VaapiWrapper::PreSandboxInitialization();
-#endif // OS_CHROMEOS && ARCH_CPU_X86_FAMILY
-
return RUN_ALL_TESTS();
}
diff --git a/content/common/sandbox_seccomp_bpf_linux.cc b/content/common/sandbox_seccomp_bpf_linux.cc
index d4643e0..fea84bf 100644
--- a/content/common/sandbox_seccomp_bpf_linux.cc
+++ b/content/common/sandbox_seccomp_bpf_linux.cc
@@ -1901,8 +1901,8 @@ void WarmupPolicy(Sandbox::EvaluateSyscall policy,
InitGpuBrokerProcess(policy, broker_process);
if (IsArchitectureX86_64() || IsArchitectureI386()) {
- // Accelerated video decode dlopen()'s a shared object
- // inside the sandbox, so preload it now.
+ // Accelerated video decode dlopen()'s some shared objects
+ // inside the sandbox, so preload them now.
if (IsAcceleratedVideoDecodeEnabled()) {
const char* I965DrvVideoPath = NULL;
@@ -1913,6 +1913,8 @@ void WarmupPolicy(Sandbox::EvaluateSyscall policy,
}
dlopen(I965DrvVideoPath, RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
+ dlopen("libva.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
+ dlopen("libva-x11.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
}
}
} else if (policy == ArmGpuProcessPolicy ||
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
index 224c85af..82c1bff 100644
--- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc
@@ -360,10 +360,6 @@ bool WarmUpSandbox(const CommandLine& command_line) {
}
}
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) && defined(USE_X11)
- VaapiWrapper::PreSandboxInitialization();
-#endif
-
#if defined(OS_WIN)
{
TRACE_EVENT0("gpu", "Preload setupapi.dll");