Index: media/capture/video/video_capture_buffer_pool_impl.cc |
diff --git a/media/capture/video/video_capture_buffer_pool_impl.cc b/media/capture/video/video_capture_buffer_pool_impl.cc |
index 7bc10e16e9e2b4bcd2f18b186e64c5d3ad3cfc48..da6857fa2222be28b73e647d6c70df3cbba943c8 100644 |
--- a/media/capture/video/video_capture_buffer_pool_impl.cc |
+++ b/media/capture/video/video_capture_buffer_pool_impl.cc |
@@ -27,8 +27,8 @@ VideoCaptureBufferPoolImpl::VideoCaptureBufferPoolImpl( |
VideoCaptureBufferPoolImpl::~VideoCaptureBufferPoolImpl() {} |
-mojo::ScopedSharedBufferHandle VideoCaptureBufferPoolImpl::GetHandleForTransit( |
- int buffer_id) { |
+mojo::ScopedSharedBufferHandle |
+VideoCaptureBufferPoolImpl::GetHandleForInterProcessTransit(int buffer_id) { |
base::AutoLock lock(lock_); |
VideoCaptureBufferTracker* tracker = GetTracker(buffer_id); |
@@ -39,18 +39,30 @@ mojo::ScopedSharedBufferHandle VideoCaptureBufferPoolImpl::GetHandleForTransit( |
return tracker->GetHandleForTransit(); |
} |
+base::SharedMemoryHandle |
+VideoCaptureBufferPoolImpl::GetNonOwnedSharedMemoryHandleForLegacyIPC( |
+ int buffer_id) { |
+ base::AutoLock lock(lock_); |
+ |
+ VideoCaptureBufferTracker* tracker = GetTracker(buffer_id); |
+ if (!tracker) { |
+ NOTREACHED() << "Invalid buffer_id."; |
+ return base::SharedMemoryHandle(); |
+ } |
+ return tracker->GetNonOwnedSharedMemoryHandleForLegacyIPC(); |
+} |
+ |
std::unique_ptr<VideoCaptureBufferHandle> |
-VideoCaptureBufferPoolImpl::GetBufferHandle(int buffer_id) { |
+VideoCaptureBufferPoolImpl::GetHandleForInProcessAccess(int buffer_id) { |
base::AutoLock lock(lock_); |
VideoCaptureBufferTracker* tracker = GetTracker(buffer_id); |
if (!tracker) { |
NOTREACHED() << "Invalid buffer_id."; |
- return std::unique_ptr<VideoCaptureBufferHandle>(); |
+ return nullptr; |
} |
- DCHECK(tracker->held_by_producer()); |
- return tracker->GetBufferHandle(); |
+ return tracker->GetMemoryMappedAccess(); |
} |
int VideoCaptureBufferPoolImpl::ReserveForProducer( |