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

Side by Side Diff: media/capture/video/mac/video_capture_device_factory_mac.mm

Issue 1579863003: Convert Pass()→std::move() for Mac build. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/mac/video_capture_device_factory_mac.h" 5 #include "media/capture/video/mac/video_capture_device_factory_mac.h"
6 6
7 #import <IOKit/audio/IOAudioTypes.h> 7 #import <IOKit/audio/IOAudioTypes.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <utility>
11
10 #include "base/bind.h" 12 #include "base/bind.h"
11 #include "base/location.h" 13 #include "base/location.h"
12 #include "base/macros.h" 14 #include "base/macros.h"
13 #include "base/profiler/scoped_tracker.h" 15 #include "base/profiler/scoped_tracker.h"
14 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
15 #include "base/task_runner_util.h" 17 #include "base/task_runner_util.h"
16 #import "media/base/mac/avfoundation_glue.h" 18 #import "media/base/mac/avfoundation_glue.h"
17 #import "media/capture/video/mac/video_capture_device_avfoundation_mac.h" 19 #import "media/capture/video/mac/video_capture_device_avfoundation_mac.h"
18 #import "media/capture/video/mac/video_capture_device_decklink_mac.h" 20 #import "media/capture/video/mac/video_capture_device_decklink_mac.h"
19 #include "media/capture/video/mac/video_capture_device_mac.h" 21 #include "media/capture/video/mac/video_capture_device_mac.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 [[[NSMutableDictionary alloc] init] autorelease]; 63 [[[NSMutableDictionary alloc] init] autorelease];
62 [VideoCaptureDeviceQTKit getDeviceNames:capture_devices]; 64 [VideoCaptureDeviceQTKit getDeviceNames:capture_devices];
63 for (NSString* key in capture_devices) { 65 for (NSString* key in capture_devices) {
64 VideoCaptureDevice::Name name( 66 VideoCaptureDevice::Name name(
65 [[[capture_devices valueForKey:key] deviceName] UTF8String], 67 [[[capture_devices valueForKey:key] deviceName] UTF8String],
66 [key UTF8String], VideoCaptureDevice::Name::QTKIT); 68 [key UTF8String], VideoCaptureDevice::Name::QTKIT);
67 if (IsDeviceBlacklisted(name)) 69 if (IsDeviceBlacklisted(name))
68 name.set_is_blacklisted(true); 70 name.set_is_blacklisted(true);
69 device_names->push_back(name); 71 device_names->push_back(name);
70 } 72 }
71 return device_names.Pass(); 73 return device_names;
72 } 74 }
73 75
74 static void RunDevicesEnumeratedCallback( 76 static void RunDevicesEnumeratedCallback(
75 const base::Callback<void(scoped_ptr<media::VideoCaptureDevice::Names>)>& 77 const base::Callback<void(scoped_ptr<media::VideoCaptureDevice::Names>)>&
76 callback, 78 callback,
77 scoped_ptr<media::VideoCaptureDevice::Names> device_names) { 79 scoped_ptr<media::VideoCaptureDevice::Names> device_names) {
78 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/458397 is 80 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/458397 is
79 // fixed. 81 // fixed.
80 tracked_objects::ScopedTracker tracking_profile( 82 tracked_objects::ScopedTracker tracking_profile(
81 FROM_HERE_WITH_EXPLICIT_FUNCTION( 83 FROM_HERE_WITH_EXPLICIT_FUNCTION(
82 "458397 media::RunDevicesEnumeratedCallback")); 84 "458397 media::RunDevicesEnumeratedCallback"));
83 callback.Run(device_names.Pass()); 85 callback.Run(std::move(device_names));
84 } 86 }
85 87
86 VideoCaptureDeviceFactoryMac::VideoCaptureDeviceFactoryMac( 88 VideoCaptureDeviceFactoryMac::VideoCaptureDeviceFactoryMac(
87 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) 89 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
88 : ui_task_runner_(ui_task_runner) { 90 : ui_task_runner_(ui_task_runner) {
89 thread_checker_.DetachFromThread(); 91 thread_checker_.DetachFromThread();
90 } 92 }
91 93
92 VideoCaptureDeviceFactoryMac::~VideoCaptureDeviceFactoryMac() { 94 VideoCaptureDeviceFactoryMac::~VideoCaptureDeviceFactoryMac() {
93 } 95 }
94 96
95 scoped_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryMac::Create( 97 scoped_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryMac::Create(
96 const VideoCaptureDevice::Name& device_name) { 98 const VideoCaptureDevice::Name& device_name) {
97 DCHECK(thread_checker_.CalledOnValidThread()); 99 DCHECK(thread_checker_.CalledOnValidThread());
98 DCHECK_NE(device_name.capture_api_type(), 100 DCHECK_NE(device_name.capture_api_type(),
99 VideoCaptureDevice::Name::API_TYPE_UNKNOWN); 101 VideoCaptureDevice::Name::API_TYPE_UNKNOWN);
100 102
101 scoped_ptr<VideoCaptureDevice> capture_device; 103 scoped_ptr<VideoCaptureDevice> capture_device;
102 if (device_name.capture_api_type() == VideoCaptureDevice::Name::DECKLINK) { 104 if (device_name.capture_api_type() == VideoCaptureDevice::Name::DECKLINK) {
103 capture_device.reset(new VideoCaptureDeviceDeckLinkMac(device_name)); 105 capture_device.reset(new VideoCaptureDeviceDeckLinkMac(device_name));
104 } else { 106 } else {
105 VideoCaptureDeviceMac* device = new VideoCaptureDeviceMac(device_name); 107 VideoCaptureDeviceMac* device = new VideoCaptureDeviceMac(device_name);
106 capture_device.reset(device); 108 capture_device.reset(device);
107 if (!device->Init(device_name.capture_api_type())) { 109 if (!device->Init(device_name.capture_api_type())) {
108 LOG(ERROR) << "Could not initialize VideoCaptureDevice."; 110 LOG(ERROR) << "Could not initialize VideoCaptureDevice.";
109 capture_device.reset(); 111 capture_device.reset();
110 } 112 }
111 } 113 }
112 return scoped_ptr<VideoCaptureDevice>(capture_device.Pass()); 114 return scoped_ptr<VideoCaptureDevice>(std::move(capture_device));
113 } 115 }
114 116
115 void VideoCaptureDeviceFactoryMac::GetDeviceNames( 117 void VideoCaptureDeviceFactoryMac::GetDeviceNames(
116 VideoCaptureDevice::Names* device_names) { 118 VideoCaptureDevice::Names* device_names) {
117 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/458397 is 119 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/458397 is
118 // fixed. 120 // fixed.
119 tracked_objects::ScopedTracker tracking_profile( 121 tracked_objects::ScopedTracker tracking_profile(
120 FROM_HERE_WITH_EXPLICIT_FUNCTION( 122 FROM_HERE_WITH_EXPLICIT_FUNCTION(
121 "458397 VideoCaptureDeviceFactoryMac::GetDeviceNames")); 123 "458397 VideoCaptureDeviceFactoryMac::GetDeviceNames"));
122 DCHECK(thread_checker_.CalledOnValidThread()); 124 DCHECK(thread_checker_.CalledOnValidThread());
(...skipping 28 matching lines...) Expand all
151 } 153 }
152 } 154 }
153 155
154 void VideoCaptureDeviceFactoryMac::EnumerateDeviceNames(const base::Callback< 156 void VideoCaptureDeviceFactoryMac::EnumerateDeviceNames(const base::Callback<
155 void(scoped_ptr<media::VideoCaptureDevice::Names>)>& callback) { 157 void(scoped_ptr<media::VideoCaptureDevice::Names>)>& callback) {
156 DCHECK(thread_checker_.CalledOnValidThread()); 158 DCHECK(thread_checker_.CalledOnValidThread());
157 if (AVFoundationGlue::IsAVFoundationSupported()) { 159 if (AVFoundationGlue::IsAVFoundationSupported()) {
158 scoped_ptr<VideoCaptureDevice::Names> device_names( 160 scoped_ptr<VideoCaptureDevice::Names> device_names(
159 new VideoCaptureDevice::Names()); 161 new VideoCaptureDevice::Names());
160 GetDeviceNames(device_names.get()); 162 GetDeviceNames(device_names.get());
161 callback.Run(device_names.Pass()); 163 callback.Run(std::move(device_names));
162 } else { 164 } else {
163 DVLOG(1) << "Enumerating video capture devices using QTKit"; 165 DVLOG(1) << "Enumerating video capture devices using QTKit";
164 base::PostTaskAndReplyWithResult( 166 base::PostTaskAndReplyWithResult(
165 ui_task_runner_.get(), FROM_HERE, 167 ui_task_runner_.get(), FROM_HERE,
166 base::Bind(&EnumerateDevicesUsingQTKit), 168 base::Bind(&EnumerateDevicesUsingQTKit),
167 base::Bind(&RunDevicesEnumeratedCallback, callback)); 169 base::Bind(&RunDevicesEnumeratedCallback, callback));
168 } 170 }
169 } 171 }
170 172
171 void VideoCaptureDeviceFactoryMac::GetDeviceSupportedFormats( 173 void VideoCaptureDeviceFactoryMac::GetDeviceSupportedFormats(
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 } 209 }
208 210
209 // static 211 // static
210 VideoCaptureDeviceFactory* 212 VideoCaptureDeviceFactory*
211 VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory( 213 VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory(
212 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { 214 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
213 return new VideoCaptureDeviceFactoryMac(ui_task_runner); 215 return new VideoCaptureDeviceFactoryMac(ui_task_runner);
214 } 216 }
215 217
216 } // namespace media 218 } // namespace media
OLDNEW
« no previous file with comments | « media/capture/video/mac/video_capture_device_decklink_mac.mm ('k') | media/capture/video/mac/video_capture_device_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698