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

Side by Side Diff: content/common/gpu/omx_video_decode_accelerator.cc

Issue 7046031: OmxVideoDecodeAcceleratorTest improvements: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "content/common/gpu/omx_video_decode_accelerator.h" 5 #include "content/common/gpu/omx_video_decode_accelerator.h"
6 6
7 #include "base/stl_util-inl.h" 7 #include "base/stl_util-inl.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "content/common/gpu/gles2_texture_to_egl_image_translator.h" 9 #include "content/common/gpu/gles2_texture_to_egl_image_translator.h"
10 #include "content/common/gpu/gpu_channel.h" 10 #include "content/common/gpu/gpu_channel.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 StopOnError(); 121 StopOnError();
122 return false; 122 return false;
123 } 123 }
124 124
125 if (!AllocateInputBuffers()) { 125 if (!AllocateInputBuffers()) {
126 LOG(ERROR) << "OMX_AllocateBuffer() Input buffer error"; 126 LOG(ERROR) << "OMX_AllocateBuffer() Input buffer error";
127 StopOnError(); 127 StopOnError();
128 return false; 128 return false;
129 } 129 }
130 130
131 // After AllocateInputBuffers ideally this should be AllocateOutputBuffers. 131 // In order to allocate output buffers we need to have textures in hand, so we
132 // Since in this case app provides the output buffers, 132 // call ProvidePictureBuffers on the client and complete initialization in
133 // we query this through ProvidePictureBuffers. 133 // AssignGLESBuffers.
134 // This is call to ppapi to provide the output buffers initially.
135 // ProvidePictureBuffers will provide
136 // - SharedMemHandle in case of decoding to system memory.
137 // - Textures in case of decoding to egl-images.
138
139 // Output buffers will be eventually handed to us via
140 // Assign{GLES,Sysmem}Buffers().
141 message_loop_->PostTask( 134 message_loop_->PostTask(
142 FROM_HERE, 135 FROM_HERE,
143 base::Bind(&Client::ProvidePictureBuffers, base::Unretained(client_), 136 base::Bind(&Client::ProvidePictureBuffers, base::Unretained(client_),
144 static_cast<int32>(kNumPictureBuffers), 137 static_cast<int32>(kNumPictureBuffers),
145 gfx::Size(width_, height_), 138 gfx::Size(width_, height_),
146 PICTUREBUFFER_MEMORYTYPE_GL_TEXTURE)); 139 PICTUREBUFFER_MEMORYTYPE_GL_TEXTURE));
147 140
148 return true; 141 return true;
149 } 142 }
150 143
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 OMX_ERRORTYPE result = OMX_SendCommand(component_handle_, 905 OMX_ERRORTYPE result = OMX_SendCommand(component_handle_,
913 cmd, port_index, 0); 906 cmd, port_index, 0);
914 if (result != OMX_ErrorNone) { 907 if (result != OMX_ErrorNone) {
915 LOG(ERROR) << "SendCommand(OMX_CommandPortDisable) failed"; 908 LOG(ERROR) << "SendCommand(OMX_CommandPortDisable) failed";
916 StopOnError(); 909 StopOnError();
917 return; 910 return;
918 } 911 }
919 } 912 }
920 913
921 DISABLE_RUNNABLE_METHOD_REFCOUNT(OmxVideoDecodeAccelerator); 914 DISABLE_RUNNABLE_METHOD_REFCOUNT(OmxVideoDecodeAccelerator);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698