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

Side by Side Diff: media/capture/video/shared_memory_buffer_tracker.cc

Issue 2573223002: [Mojo Video Capture] Simplify media::VideoCaptureDevice::Client:Buffer to a struct (Closed)
Patch Set: mcasas comments Created 3 years, 11 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "media/capture/video/shared_memory_buffer_tracker.h" 5 #include "media/capture/video/shared_memory_buffer_tracker.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "mojo/public/cpp/system/platform_handle.h" 8 #include "mojo/public/cpp/system/platform_handle.h"
9 9
10 namespace media { 10 namespace media {
(...skipping 12 matching lines...) Expand all
23 set_pixel_format(format); 23 set_pixel_format(format);
24 set_storage_type(storage_type); 24 set_storage_type(storage_type);
25 mapped_size_ = VideoCaptureFormat(dimensions, 0.0f, format, storage_type) 25 mapped_size_ = VideoCaptureFormat(dimensions, 0.0f, format, storage_type)
26 .ImageAllocationSize(); 26 .ImageAllocationSize();
27 if (!mapped_size_) 27 if (!mapped_size_)
28 return true; 28 return true;
29 return shared_memory_.CreateAndMapAnonymous(mapped_size_); 29 return shared_memory_.CreateAndMapAnonymous(mapped_size_);
30 } 30 }
31 31
32 std::unique_ptr<VideoCaptureBufferHandle> 32 std::unique_ptr<VideoCaptureBufferHandle>
33 SharedMemoryBufferTracker::GetBufferHandle() { 33 SharedMemoryBufferTracker::GetMemoryMappedAccess() {
34 return base::MakeUnique<SharedMemoryBufferHandle>(this); 34 return base::MakeUnique<SharedMemoryBufferHandle>(this);
35 } 35 }
36 36
37 mojo::ScopedSharedBufferHandle 37 mojo::ScopedSharedBufferHandle
38 SharedMemoryBufferTracker::GetHandleForTransit() { 38 SharedMemoryBufferTracker::GetHandleForTransit() {
39 return mojo::WrapSharedMemoryHandle( 39 return mojo::WrapSharedMemoryHandle(
40 base::SharedMemory::DuplicateHandle(shared_memory_.handle()), 40 base::SharedMemory::DuplicateHandle(shared_memory_.handle()),
41 mapped_size_, false /* read_only */); 41 mapped_size_, false /* read_only */);
42 } 42 }
43 43
44 SharedMemoryBufferHandle::SharedMemoryBufferHandle( 44 SharedMemoryBufferHandle::SharedMemoryBufferHandle(
45 SharedMemoryBufferTracker* tracker) 45 SharedMemoryBufferTracker* tracker)
46 : tracker_(tracker) {} 46 : tracker_(tracker) {}
47 47
48 SharedMemoryBufferHandle::~SharedMemoryBufferHandle() = default; 48 SharedMemoryBufferHandle::~SharedMemoryBufferHandle() = default;
49 49
50 gfx::Size SharedMemoryBufferHandle::dimensions() const {
51 return tracker_->dimensions();
52 }
53
54 size_t SharedMemoryBufferHandle::mapped_size() const { 50 size_t SharedMemoryBufferHandle::mapped_size() const {
55 return tracker_->mapped_size_; 51 return tracker_->mapped_size_;
56 } 52 }
57 53
58 void* SharedMemoryBufferHandle::data(int plane) { 54 uint8_t* SharedMemoryBufferHandle::data() {
59 DCHECK_EQ(0, plane); 55 return static_cast<uint8_t*>(tracker_->shared_memory_.memory());
60 return tracker_->shared_memory_.memory();
61 } 56 }
62 57
63 #if defined(OS_POSIX) && !defined(OS_MACOSX) 58 const uint8_t* SharedMemoryBufferHandle::data() const {
64 base::FileDescriptor SharedMemoryBufferHandle::AsPlatformFile() { 59 return static_cast<const uint8_t*>(tracker_->shared_memory_.memory());
65 return tracker_->shared_memory_.handle();
66 }
67 #endif
68
69 bool SharedMemoryBufferHandle::IsBackedByVideoFrame() const {
70 return false;
71 }
72
73 scoped_refptr<VideoFrame> SharedMemoryBufferHandle::GetVideoFrame() {
74 return scoped_refptr<VideoFrame>();
75 } 60 }
76 61
77 } // namespace media 62 } // namespace media
OLDNEW
« no previous file with comments | « media/capture/video/shared_memory_buffer_tracker.h ('k') | media/capture/video/video_capture_buffer_handle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698