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

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

Issue 1154613006: Update pepper to not assume that SharedMemoryHandle is an int. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Another nits pass. Created 5 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
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 #include "content/renderer/pepper/pepper_video_capture_host.h" 5 #include "content/renderer/pepper/pepper_video_capture_host.h"
6 6
7 #include "content/renderer/media/media_stream_video_source.h" 7 #include "content/renderer/media/media_stream_video_source.h"
8 #include "content/renderer/pepper/host_globals.h" 8 #include "content/renderer/pepper/host_globals.h"
9 #include "content/renderer/pepper/pepper_media_device_manager.h" 9 #include "content/renderer/pepper/pepper_media_device_manager.h"
10 #include "content/renderer/pepper/pepper_platform_video_capture.h" 10 #include "content/renderer/pepper/pepper_platform_video_capture.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 213
214 // Add a reference for the plugin, which is resposible for releasing it. 214 // Add a reference for the plugin, which is resposible for releasing it.
215 tracker->AddRefResource(res); 215 tracker->AddRefResource(res);
216 } 216 }
217 217
218 // Add the serialized shared memory handle to params. FileDescriptor is 218 // Add the serialized shared memory handle to params. FileDescriptor is
219 // treated in special case. 219 // treated in special case.
220 { 220 {
221 EnterResourceNoLock<PPB_Buffer_API> enter(res, true); 221 EnterResourceNoLock<PPB_Buffer_API> enter(res, true);
222 DCHECK(enter.succeeded()); 222 DCHECK(enter.succeeded());
223 int handle; 223 base::SharedMemory* shm;
224 int32_t result = enter.object()->GetSharedMemory(&handle); 224 int32_t result = enter.object()->GetSharedMemory(&shm);
225 DCHECK(result == PP_OK); 225 DCHECK(result == PP_OK);
226 // TODO(piman/brettw): Change trusted interface to return a PP_FileHandle,
227 // those casts are ugly.
228 base::PlatformFile platform_file =
229 #if defined(OS_WIN)
230 reinterpret_cast<HANDLE>(static_cast<intptr_t>(handle));
231 #elif defined(OS_POSIX)
232 handle;
233 #else
234 #error Not implemented.
235 #endif
236 params.AppendHandle(ppapi::proxy::SerializedHandle( 226 params.AppendHandle(ppapi::proxy::SerializedHandle(
237 dispatcher->ShareHandleWithRemote(platform_file, false), size)); 227 dispatcher->ShareSharedMemoryHandleWithRemote(shm->handle()), size));
238 } 228 }
239 } 229 }
240 230
241 if (buffers_.empty()) { 231 if (buffers_.empty()) {
242 // We couldn't allocate/map buffers at all. Send an error and stop the 232 // We couldn't allocate/map buffers at all. Send an error and stop the
243 // capture. 233 // capture.
244 SetStatus(PP_VIDEO_CAPTURE_STATUS_STOPPING, true); 234 SetStatus(PP_VIDEO_CAPTURE_STATUS_STOPPING, true);
245 platform_video_capture_->StopCapture(); 235 platform_video_capture_->StopCapture();
246 PostErrorReply(); 236 PostErrorReply();
247 return; 237 return;
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 } 410 }
421 411
422 PepperVideoCaptureHost::BufferInfo::BufferInfo() 412 PepperVideoCaptureHost::BufferInfo::BufferInfo()
423 : in_use(false), data(NULL), buffer() { 413 : in_use(false), data(NULL), buffer() {
424 } 414 }
425 415
426 PepperVideoCaptureHost::BufferInfo::~BufferInfo() { 416 PepperVideoCaptureHost::BufferInfo::~BufferInfo() {
427 } 417 }
428 418
429 } // namespace content 419 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698