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, and GLES2. | 7 // - RenderingHelper is charged with interacting with X11, EGL, and GLES2. |
8 // - ClientState is an enum for the state of the decode client used by the test. | 8 // - ClientState is an enum for the state of the decode client used by the test. |
9 // - ClientStateNotification is a barrier abstraction that allows the test code | 9 // - ClientStateNotification is a barrier abstraction that allows the test code |
10 // to be written sequentially and wait for the decode client to see certain | 10 // to be written sequentially and wait for the decode client to see certain |
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
938 | 938 |
939 // Suppress EGL surface swapping in all but a few tests, to cut down overall | 939 // Suppress EGL surface swapping in all but a few tests, to cut down overall |
940 // test runtime. | 940 // test runtime. |
941 const bool suppress_swap_to_display = num_NALUs_per_decode > 1; | 941 const bool suppress_swap_to_display = num_NALUs_per_decode > 1; |
942 | 942 |
943 std::vector<ClientStateNotification*> notes(num_concurrent_decoders, NULL); | 943 std::vector<ClientStateNotification*> notes(num_concurrent_decoders, NULL); |
944 std::vector<EglRenderingVDAClient*> clients(num_concurrent_decoders, NULL); | 944 std::vector<EglRenderingVDAClient*> clients(num_concurrent_decoders, NULL); |
945 | 945 |
946 // Read in the video data. | 946 // Read in the video data. |
947 std::string data_str; | 947 std::string data_str; |
948 CHECK(file_util::ReadFileToString(FilePath(test_video_file), &data_str)); | 948 CHECK(file_util::ReadFileToString(FilePath(test_video_file), &data_str)) |
| 949 << "test_video_file: " << test_video_file; |
949 | 950 |
950 // Initialize the rendering helper. | 951 // Initialize the rendering helper. |
951 base::Thread rendering_thread("EglRenderingVDAClientThread"); | 952 base::Thread rendering_thread("EglRenderingVDAClientThread"); |
952 base::Thread::Options options; | 953 base::Thread::Options options; |
953 options.message_loop_type = MessageLoop::TYPE_DEFAULT; | 954 options.message_loop_type = MessageLoop::TYPE_DEFAULT; |
954 #if defined(OS_WIN) | 955 #if defined(OS_WIN) |
955 // For windows the decoding thread initializes the media foundation decoder | 956 // For windows the decoding thread initializes the media foundation decoder |
956 // which uses COM. We need the thread to be a UI thread. | 957 // which uses COM. We need the thread to be a UI thread. |
957 options.message_loop_type = MessageLoop::TYPE_UI; | 958 options.message_loop_type = MessageLoop::TYPE_UI; |
958 #endif // OS_WIN | 959 #endif // OS_WIN |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1140 CommandLine::Init(argc, argv); | 1141 CommandLine::Init(argc, argv); |
1141 | 1142 |
1142 CommandLine* cmd_line = CommandLine::ForCurrentProcess(); | 1143 CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
1143 DCHECK(cmd_line); | 1144 DCHECK(cmd_line); |
1144 | 1145 |
1145 CommandLine::SwitchMap switches = cmd_line->GetSwitches(); | 1146 CommandLine::SwitchMap switches = cmd_line->GetSwitches(); |
1146 for (CommandLine::SwitchMap::const_iterator it = switches.begin(); | 1147 for (CommandLine::SwitchMap::const_iterator it = switches.begin(); |
1147 it != switches.end(); ++it) { | 1148 it != switches.end(); ++it) { |
1148 if (it->first == "test_video_data") { | 1149 if (it->first == "test_video_data") { |
1149 test_video_data = it->second.c_str(); | 1150 test_video_data = it->second.c_str(); |
| 1151 continue; |
1150 } | 1152 } |
1151 LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; | 1153 LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; |
1152 } | 1154 } |
1153 #if defined(OS_WIN) | 1155 #if defined(OS_WIN) |
1154 base::ShadowingAtExitManager at_exit_manager; | 1156 base::ShadowingAtExitManager at_exit_manager; |
1155 gfx::InitializeGLBindings(gfx::kGLImplementationEGLGLES2); | 1157 gfx::InitializeGLBindings(gfx::kGLImplementationEGLGLES2); |
1156 DXVAVideoDecodeAccelerator::PreSandboxInitialization(); | 1158 DXVAVideoDecodeAccelerator::PreSandboxInitialization(); |
1157 #endif // OS_WIN | 1159 #endif // OS_WIN |
1158 return RUN_ALL_TESTS(); | 1160 return RUN_ALL_TESTS(); |
1159 } | 1161 } |
OLD | NEW |