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

Side by Side Diff: services/video_capture/mojo_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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "services/video_capture/mojo_shared_memory_buffer_tracker.h"
6
7 #include "base/memory/ptr_util.h"
8 #include "services/video_capture/mojo_shared_memory_buffer_handle.h"
9
10 namespace video_capture {
11
12 MojoSharedMemoryBufferTracker::MojoSharedMemoryBufferTracker()
13 : VideoCaptureBufferTracker() {}
14
15 MojoSharedMemoryBufferTracker::~MojoSharedMemoryBufferTracker() = default;
16
17 bool MojoSharedMemoryBufferTracker::Init(const gfx::Size& dimensions,
18 media::VideoPixelFormat format,
19 media::VideoPixelStorage storage_type,
20 base::Lock* lock) {
21 if ((format != media::PIXEL_FORMAT_I420) ||
22 (storage_type != media::PIXEL_STORAGE_CPU)) {
23 LOG(ERROR) << "Unsupported pixel format or storage type";
24 return false;
25 }
26
27 set_dimensions(dimensions);
28 set_max_pixel_count(dimensions.GetArea());
29 set_pixel_format(format);
30 set_storage_type(storage_type);
31 mapped_size_ =
32 media::VideoCaptureFormat(dimensions, 0.0f, format, storage_type)
33 .ImageAllocationSize();
34
35 frame_ = media::MojoSharedBufferVideoFrame::CreateDefaultI420(
36 dimensions, base::TimeDelta());
37 return true;
38 }
39
40 std::unique_ptr<media::VideoCaptureBufferHandle>
41 MojoSharedMemoryBufferTracker::GetBufferHandle() {
42 return base::MakeUnique<MojoSharedMemoryBufferHandle>(this);
43 }
44
45 mojo::ScopedSharedBufferHandle
46 MojoSharedMemoryBufferTracker::GetHandleForTransit() {
47 return mojo::ScopedSharedBufferHandle();
48 }
49
50 } // namespace video_capture
OLDNEW
« no previous file with comments | « services/video_capture/mojo_shared_memory_buffer_tracker.h ('k') | services/video_capture/receiver_mojo_to_media_adapter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698