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

Side by Side Diff: content/renderer/pepper/pepper_video_encoder_host.cc

Issue 1885903002: Revert of Make lost context and error message callbacks on GpuControl go to client (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/renderer/pepper/pepper_video_encoder_host.h" 5 #include "content/renderer/pepper/pepper_video_encoder_host.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/shared_memory.h" 10 #include "base/memory/shared_memory.h"
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 OnHostMsgRecycleBitstreamBuffer) 225 OnHostMsgRecycleBitstreamBuffer)
226 PPAPI_DISPATCH_HOST_RESOURCE_CALL( 226 PPAPI_DISPATCH_HOST_RESOURCE_CALL(
227 PpapiHostMsg_VideoEncoder_RequestEncodingParametersChange, 227 PpapiHostMsg_VideoEncoder_RequestEncodingParametersChange,
228 OnHostMsgRequestEncodingParametersChange) 228 OnHostMsgRequestEncodingParametersChange)
229 PPAPI_DISPATCH_HOST_RESOURCE_CALL_0(PpapiHostMsg_VideoEncoder_Close, 229 PPAPI_DISPATCH_HOST_RESOURCE_CALL_0(PpapiHostMsg_VideoEncoder_Close,
230 OnHostMsgClose) 230 OnHostMsgClose)
231 PPAPI_END_MESSAGE_MAP() 231 PPAPI_END_MESSAGE_MAP()
232 return PP_ERROR_FAILED; 232 return PP_ERROR_FAILED;
233 } 233 }
234 234
235 void PepperVideoEncoderHost::OnGpuControlLostContext() {
236 #if DCHECK_IS_ON()
237 // This should never occur more than once.
238 DCHECK(!lost_context_);
239 lost_context_ = true;
240 #endif
241 NotifyPepperError(PP_ERROR_RESOURCE_FAILED);
242 }
243
244 int32_t PepperVideoEncoderHost::OnHostMsgGetSupportedProfiles( 235 int32_t PepperVideoEncoderHost::OnHostMsgGetSupportedProfiles(
245 ppapi::host::HostMessageContext* context) { 236 ppapi::host::HostMessageContext* context) {
246 std::vector<PP_VideoProfileDescription> pp_profiles; 237 std::vector<PP_VideoProfileDescription> pp_profiles;
247 GetSupportedProfiles(&pp_profiles); 238 GetSupportedProfiles(&pp_profiles);
248 239
249 host()->SendReply( 240 host()->SendReply(
250 context->MakeReplyMessageContext(), 241 context->MakeReplyMessageContext(),
251 PpapiPluginMsg_VideoEncoder_GetSupportedProfilesReply(pp_profiles)); 242 PpapiPluginMsg_VideoEncoder_GetSupportedProfilesReply(pp_profiles));
252 243
253 return PP_OK_COMPLETIONPENDING; 244 return PP_OK_COMPLETIONPENDING;
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 command_buffer_ = channel_->CreateCommandBuffer( 512 command_buffer_ = channel_->CreateCommandBuffer(
522 gpu::kNullSurfaceHandle, gfx::Size(), nullptr, 513 gpu::kNullSurfaceHandle, gfx::Size(), nullptr,
523 gpu::GpuChannelHost::kDefaultStreamId, 514 gpu::GpuChannelHost::kDefaultStreamId,
524 gpu::GpuChannelHost::kDefaultStreamPriority, attribs, GURL::EmptyGURL(), 515 gpu::GpuChannelHost::kDefaultStreamPriority, attribs, GURL::EmptyGURL(),
525 gfx::PreferIntegratedGpu); 516 gfx::PreferIntegratedGpu);
526 if (!command_buffer_) { 517 if (!command_buffer_) {
527 Close(); 518 Close();
528 return false; 519 return false;
529 } 520 }
530 521
531 command_buffer_->SetGpuControlClient(this); 522 command_buffer_->SetContextLostCallback(media::BindToCurrentLoop(
532 523 base::Bind(&PepperVideoEncoderHost::NotifyPepperError,
524 weak_ptr_factory_.GetWeakPtr(), PP_ERROR_RESOURCE_FAILED)));
533 if (!command_buffer_->Initialize()) { 525 if (!command_buffer_->Initialize()) {
534 Close(); 526 Close();
535 return false; 527 return false;
536 } 528 }
537 529
538 return true; 530 return true;
539 } 531 }
540 532
541 bool PepperVideoEncoderHost::InitializeHardware( 533 bool PepperVideoEncoderHost::InitializeHardware(
542 media::VideoPixelFormat input_format, 534 media::VideoPixelFormat input_format,
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 } 666 }
675 667
676 uint8_t* PepperVideoEncoderHost::ShmHandleToAddress(int32_t buffer_id) { 668 uint8_t* PepperVideoEncoderHost::ShmHandleToAddress(int32_t buffer_id) {
677 DCHECK(RenderThreadImpl::current()); 669 DCHECK(RenderThreadImpl::current());
678 DCHECK_GE(buffer_id, 0); 670 DCHECK_GE(buffer_id, 0);
679 DCHECK_LT(buffer_id, static_cast<int32_t>(shm_buffers_.size())); 671 DCHECK_LT(buffer_id, static_cast<int32_t>(shm_buffers_.size()));
680 return static_cast<uint8_t*>(shm_buffers_[buffer_id]->shm->memory()); 672 return static_cast<uint8_t*>(shm_buffers_[buffer_id]->shm->memory());
681 } 673 }
682 674
683 } // namespace content 675 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_video_encoder_host.h ('k') | content/renderer/pepper/ppb_graphics_3d_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698