OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // The bulk of this file is support code; sorry about that. Here's an overview | 5 // The bulk of this file is support code; sorry about that. Here's an overview |
6 // to hopefully help readers of this code: | 6 // to hopefully help readers of this code: |
7 // - RenderingHelper is charged with interacting with X11/{EGL/GLES2,GLX/GL} or | 7 // - RenderingHelper is charged with interacting with X11/{EGL/GLES2,GLX/GL} or |
8 // Win/EGL. | 8 // Win/EGL. |
9 // - ClientState is an enum for the state of the decode client used by the test. | 9 // - ClientState is an enum for the state of the decode client used by the test. |
10 // - ClientStateNotification is a barrier abstraction that allows the test code | 10 // - ClientStateNotification is a barrier abstraction that allows the test code |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "testing/gtest/include/gtest/gtest.h" | 28 #include "testing/gtest/include/gtest/gtest.h" |
29 | 29 |
30 #include "base/at_exit.h" | 30 #include "base/at_exit.h" |
31 #include "base/bind.h" | 31 #include "base/bind.h" |
32 #include "base/callback_helpers.h" | 32 #include "base/callback_helpers.h" |
33 #include "base/command_line.h" | 33 #include "base/command_line.h" |
34 #include "base/files/file.h" | 34 #include "base/files/file.h" |
35 #include "base/files/file_util.h" | 35 #include "base/files/file_util.h" |
36 #include "base/format_macros.h" | 36 #include "base/format_macros.h" |
37 #include "base/md5.h" | 37 #include "base/md5.h" |
38 #include "base/message_loop/message_loop_proxy.h" | |
39 #include "base/process/process_handle.h" | 38 #include "base/process/process_handle.h" |
40 #include "base/stl_util.h" | 39 #include "base/stl_util.h" |
41 #include "base/strings/string_number_conversions.h" | 40 #include "base/strings/string_number_conversions.h" |
42 #include "base/strings/string_split.h" | 41 #include "base/strings/string_split.h" |
43 #include "base/strings/stringize_macros.h" | 42 #include "base/strings/stringize_macros.h" |
44 #include "base/strings/stringprintf.h" | 43 #include "base/strings/stringprintf.h" |
45 #include "base/strings/utf_string_conversions.h" | 44 #include "base/strings/utf_string_conversions.h" |
46 #include "base/synchronization/condition_variable.h" | 45 #include "base/synchronization/condition_variable.h" |
47 #include "base/synchronization/lock.h" | 46 #include "base/synchronization/lock.h" |
48 #include "base/synchronization/waitable_event.h" | 47 #include "base/synchronization/waitable_event.h" |
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 scoped_ptr<media::VideoDecodeAccelerator> | 527 scoped_ptr<media::VideoDecodeAccelerator> |
529 GLRenderingVDAClient::CreateV4L2VDA() { | 528 GLRenderingVDAClient::CreateV4L2VDA() { |
530 scoped_ptr<media::VideoDecodeAccelerator> decoder; | 529 scoped_ptr<media::VideoDecodeAccelerator> decoder; |
531 #if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) | 530 #if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) |
532 scoped_refptr<V4L2Device> device = V4L2Device::Create(V4L2Device::kDecoder); | 531 scoped_refptr<V4L2Device> device = V4L2Device::Create(V4L2Device::kDecoder); |
533 if (device.get()) { | 532 if (device.get()) { |
534 base::WeakPtr<VideoDecodeAccelerator::Client> weak_client = AsWeakPtr(); | 533 base::WeakPtr<VideoDecodeAccelerator::Client> weak_client = AsWeakPtr(); |
535 decoder.reset(new V4L2VideoDecodeAccelerator( | 534 decoder.reset(new V4L2VideoDecodeAccelerator( |
536 static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), | 535 static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), |
537 static_cast<EGLContext>(rendering_helper_->GetGLContextHandle()), | 536 static_cast<EGLContext>(rendering_helper_->GetGLContextHandle()), |
538 weak_client, | 537 weak_client, base::Bind(&DoNothingReturnTrue), device, |
539 base::Bind(&DoNothingReturnTrue), | 538 base::ThreadTaskRunnerHandle::Get())); |
540 device, | |
541 base::MessageLoopProxy::current())); | |
542 } | 539 } |
543 #endif | 540 #endif |
544 return decoder.Pass(); | 541 return decoder.Pass(); |
545 } | 542 } |
546 | 543 |
547 scoped_ptr<media::VideoDecodeAccelerator> | 544 scoped_ptr<media::VideoDecodeAccelerator> |
548 GLRenderingVDAClient::CreateV4L2SliceVDA() { | 545 GLRenderingVDAClient::CreateV4L2SliceVDA() { |
549 scoped_ptr<media::VideoDecodeAccelerator> decoder; | 546 scoped_ptr<media::VideoDecodeAccelerator> decoder; |
550 #if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) | 547 #if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) |
551 scoped_refptr<V4L2Device> device = V4L2Device::Create(V4L2Device::kDecoder); | 548 scoped_refptr<V4L2Device> device = V4L2Device::Create(V4L2Device::kDecoder); |
552 if (device.get()) { | 549 if (device.get()) { |
553 base::WeakPtr<VideoDecodeAccelerator::Client> weak_client = AsWeakPtr(); | 550 base::WeakPtr<VideoDecodeAccelerator::Client> weak_client = AsWeakPtr(); |
554 decoder.reset(new V4L2SliceVideoDecodeAccelerator( | 551 decoder.reset(new V4L2SliceVideoDecodeAccelerator( |
555 device, | 552 device, static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), |
556 static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), | |
557 static_cast<EGLContext>(rendering_helper_->GetGLContextHandle()), | 553 static_cast<EGLContext>(rendering_helper_->GetGLContextHandle()), |
558 weak_client, | 554 weak_client, base::Bind(&DoNothingReturnTrue), |
559 base::Bind(&DoNothingReturnTrue), | 555 base::ThreadTaskRunnerHandle::Get())); |
560 base::MessageLoopProxy::current())); | |
561 } | 556 } |
562 #endif | 557 #endif |
563 return decoder.Pass(); | 558 return decoder.Pass(); |
564 } | 559 } |
565 | 560 |
566 scoped_ptr<media::VideoDecodeAccelerator> | 561 scoped_ptr<media::VideoDecodeAccelerator> |
567 GLRenderingVDAClient::CreateVaapiVDA() { | 562 GLRenderingVDAClient::CreateVaapiVDA() { |
568 scoped_ptr<media::VideoDecodeAccelerator> decoder; | 563 scoped_ptr<media::VideoDecodeAccelerator> decoder; |
569 #if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) | 564 #if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) |
570 decoder.reset(new VaapiVideoDecodeAccelerator( | 565 decoder.reset(new VaapiVideoDecodeAccelerator( |
(...skipping 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1642 content::VaapiWrapper::PreSandboxInitialization(); | 1637 content::VaapiWrapper::PreSandboxInitialization(); |
1643 #endif | 1638 #endif |
1644 | 1639 |
1645 content::g_env = | 1640 content::g_env = |
1646 reinterpret_cast<content::VideoDecodeAcceleratorTestEnvironment*>( | 1641 reinterpret_cast<content::VideoDecodeAcceleratorTestEnvironment*>( |
1647 testing::AddGlobalTestEnvironment( | 1642 testing::AddGlobalTestEnvironment( |
1648 new content::VideoDecodeAcceleratorTestEnvironment())); | 1643 new content::VideoDecodeAcceleratorTestEnvironment())); |
1649 | 1644 |
1650 return RUN_ALL_TESTS(); | 1645 return RUN_ALL_TESTS(); |
1651 } | 1646 } |
OLD | NEW |