Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(559)

Side by Side Diff: content/common/gpu/media/video_decode_accelerator_unittest.cc

Issue 176883018: Remove additional protection of kDisableAcceleratedVideoDecode in bpf_gpu_policy_linux.cc. (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: set kDisableAcceleratedVideoDecode no matther what, unless defined(OS_CHROMEOS) || defined(OS_WIN) … Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 #include "base/synchronization/waitable_event.h" 47 #include "base/synchronization/waitable_event.h"
48 #include "base/threading/thread.h" 48 #include "base/threading/thread.h"
49 #include "content/common/gpu/media/rendering_helper.h" 49 #include "content/common/gpu/media/rendering_helper.h"
50 #include "content/common/gpu/media/video_accelerator_unittest_helpers.h" 50 #include "content/common/gpu/media/video_accelerator_unittest_helpers.h"
51 #include "content/public/common/content_switches.h" 51 #include "content/public/common/content_switches.h"
52 #include "media/filters/h264_parser.h" 52 #include "media/filters/h264_parser.h"
53 #include "ui/gfx/codec/png_codec.h" 53 #include "ui/gfx/codec/png_codec.h"
54 54
55 #if defined(OS_WIN) 55 #if defined(OS_WIN)
56 #include "content/common/gpu/media/dxva_video_decode_accelerator.h" 56 #include "content/common/gpu/media/dxva_video_decode_accelerator.h"
57 #elif defined(OS_CHROMEOS) 57 #elif defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL)
58 #if defined(ARCH_CPU_ARMEL)
59 #include "content/common/gpu/media/v4l2_video_decode_accelerator.h" 58 #include "content/common/gpu/media/v4l2_video_decode_accelerator.h"
60 #include "content/common/gpu/media/v4l2_video_device.h" 59 #include "content/common/gpu/media/v4l2_video_device.h"
61 #elif defined(ARCH_CPU_X86_FAMILY) 60 #elif defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
62 #include "content/common/gpu/media/vaapi_video_decode_accelerator.h" 61 #include "content/common/gpu/media/vaapi_video_decode_accelerator.h"
63 #include "content/common/gpu/media/vaapi_wrapper.h" 62 #include "content/common/gpu/media/vaapi_wrapper.h"
64 #if defined(USE_X11) 63 #if defined(USE_X11)
65 #include "ui/gl/gl_implementation.h" 64 #include "ui/gl/gl_implementation.h"
66 #endif // USE_X11 65 #endif // USE_X11
67 #endif // ARCH_CPU_ARMEL
68 #else 66 #else
69 #error The VideoAccelerator tests are not supported on this platform. 67 #error The VideoAccelerator tests are not supported on this platform.
70 #endif // OS_WIN 68 #endif // OS_WIN
71 69
72 using media::VideoDecodeAccelerator; 70 using media::VideoDecodeAccelerator;
73 71
74 namespace content { 72 namespace content {
75 namespace { 73 namespace {
76 74
77 // Values optionally filled in from flags; see main() below. 75 // Values optionally filled in from flags; see main() below.
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 547
550 VideoDecodeAccelerator::Client* client = this; 548 VideoDecodeAccelerator::Client* client = this;
551 base::WeakPtr<VideoDecodeAccelerator::Client> weak_client = AsWeakPtr(); 549 base::WeakPtr<VideoDecodeAccelerator::Client> weak_client = AsWeakPtr();
552 if (throttling_client_) { 550 if (throttling_client_) {
553 client = throttling_client_.get(); 551 client = throttling_client_.get();
554 weak_client = throttling_client_->AsWeakPtr(); 552 weak_client = throttling_client_->AsWeakPtr();
555 } 553 }
556 #if defined(OS_WIN) 554 #if defined(OS_WIN)
557 decoder_.reset( 555 decoder_.reset(
558 new DXVAVideoDecodeAccelerator(base::Bind(&DoNothingReturnTrue))); 556 new DXVAVideoDecodeAccelerator(base::Bind(&DoNothingReturnTrue)));
559 #elif defined(OS_CHROMEOS) 557 #elif defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL)
560 #if defined(ARCH_CPU_ARMEL)
561 558
562 scoped_ptr<V4L2Device> device = V4L2Device::Create(); 559 scoped_ptr<V4L2Device> device = V4L2Device::Create();
563 if (!device.get()) { 560 if (!device.get()) {
564 NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE); 561 NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE);
565 return; 562 return;
566 } 563 }
567 decoder_.reset(new V4L2VideoDecodeAccelerator( 564 decoder_.reset(new V4L2VideoDecodeAccelerator(
568 static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), 565 static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()),
569 weak_client, 566 weak_client,
570 base::Bind(&DoNothingReturnTrue), 567 base::Bind(&DoNothingReturnTrue),
571 device.Pass(), 568 device.Pass(),
572 base::MessageLoopProxy::current())); 569 base::MessageLoopProxy::current()));
573 #elif defined(ARCH_CPU_X86_FAMILY) 570 #elif defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
574 CHECK_EQ(gfx::kGLImplementationDesktopGL, gfx::GetGLImplementation()) 571 CHECK_EQ(gfx::kGLImplementationDesktopGL, gfx::GetGLImplementation())
575 << "Hardware video decode does not work with OSMesa"; 572 << "Hardware video decode does not work with OSMesa";
576 decoder_.reset(new VaapiVideoDecodeAccelerator( 573 decoder_.reset(new VaapiVideoDecodeAccelerator(
577 static_cast<Display*>(rendering_helper_->GetGLDisplay()), 574 static_cast<Display*>(rendering_helper_->GetGLDisplay()),
578 base::Bind(&DoNothingReturnTrue))); 575 base::Bind(&DoNothingReturnTrue)));
579 #endif // ARCH_CPU_ARMEL
580 #endif // OS_WIN 576 #endif // OS_WIN
581 CHECK(decoder_.get()); 577 CHECK(decoder_.get());
582 SetState(CS_DECODER_SET); 578 SetState(CS_DECODER_SET);
583 if (decoder_deleted()) 579 if (decoder_deleted())
584 return; 580 return;
585 581
586 CHECK(decoder_->Initialize(profile_, client)); 582 CHECK(decoder_->Initialize(profile_, client));
587 } 583 }
588 584
589 void GLRenderingVDAClient::ProvidePictureBuffers( 585 void GLRenderingVDAClient::ProvidePictureBuffers(
(...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after
1574 } 1570 }
1575 if (it->first == "v" || it->first == "vmodule") 1571 if (it->first == "v" || it->first == "vmodule")
1576 continue; 1572 continue;
1577 LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; 1573 LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second;
1578 } 1574 }
1579 1575
1580 base::ShadowingAtExitManager at_exit_manager; 1576 base::ShadowingAtExitManager at_exit_manager;
1581 1577
1582 return RUN_ALL_TESTS(); 1578 return RUN_ALL_TESTS();
1583 } 1579 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698