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

Side by Side Diff: device/capture/video/mac/video_capture_device_mac.h

Issue 2214533002: move //media/capture to //device/capture (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 // MacOSX implementation of generic VideoCaptureDevice, using AVFoundation as 5 // MacOSX implementation of generic VideoCaptureDevice, using AVFoundation as
6 // native capture API. AVFoundation is available in versions 10.7 (Lion) and 6 // native capture API. AVFoundation is available in versions 10.7 (Lion) and
7 // later. 7 // later.
8 8
9 #ifndef MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_MAC_H_ 9 #ifndef DEVICE_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_MAC_H_
10 #define MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_MAC_H_ 10 #define DEVICE_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_MAC_H_
11 11
12 #import <Foundation/Foundation.h> 12 #import <Foundation/Foundation.h>
13 #include <stdint.h> 13 #include <stdint.h>
14 14
15 #include <string> 15 #include <string>
16 16
17 #include "base/compiler_specific.h" 17 #include "base/compiler_specific.h"
18 #include "base/mac/scoped_nsobject.h" 18 #include "base/mac/scoped_nsobject.h"
19 #include "base/macros.h" 19 #include "base/macros.h"
20 #include "base/memory/ref_counted.h" 20 #include "base/memory/ref_counted.h"
21 #include "base/memory/weak_ptr.h" 21 #include "base/memory/weak_ptr.h"
22 #include "device/capture/video/video_capture_device.h"
22 #include "media/base/video_capture_types.h" 23 #include "media/base/video_capture_types.h"
23 #include "media/capture/video/video_capture_device.h"
24 24
25 @class VideoCaptureDeviceAVFoundation; 25 @class VideoCaptureDeviceAVFoundation;
26 26
27 namespace base { 27 namespace base {
28 class SingleThreadTaskRunner; 28 class SingleThreadTaskRunner;
29 } 29 }
30 30
31 namespace tracked_objects { 31 namespace tracked_objects {
32 class Location; 32 class Location;
33 } // namespace tracked_objects 33 } // namespace tracked_objects
34 34
35 // Small class to bundle device name and connection type into a dictionary. 35 // Small class to bundle device name and connection type into a dictionary.
36 CAPTURE_EXPORT 36 CAPTURE_EXPORT
37 @interface DeviceNameAndTransportType : NSObject { 37 @interface DeviceNameAndTransportType : NSObject {
38 @private 38 @private
39 base::scoped_nsobject<NSString> deviceName_; 39 base::scoped_nsobject<NSString> deviceName_;
40 // The transport type of the device (USB, PCI, etc), values are defined in 40 // The transport type of the device (USB, PCI, etc), values are defined in
41 // <IOKit/audio/IOAudioTypes.h> as kIOAudioDeviceTransportType*. 41 // <IOKit/audio/IOAudioTypes.h> as kIOAudioDeviceTransportType*.
42 int32_t transportType_; 42 int32_t transportType_;
43 } 43 }
44 44
45 - (id)initWithName:(NSString*)name transportType:(int32_t)transportType; 45 - (id)initWithName:(NSString*)name transportType:(int32_t)transportType;
46 46
47 - (NSString*)deviceName; 47 - (NSString*)deviceName;
48 - (int32_t)transportType; 48 - (int32_t)transportType;
49 @end 49 @end
50 50
51 namespace media { 51 namespace device {
52 52
53 // Called by VideoCaptureManager to open, close and start, stop Mac video 53 // Called by VideoCaptureManager to open, close and start, stop Mac video
54 // capture devices. 54 // capture devices.
55 class VideoCaptureDeviceMac : public VideoCaptureDevice { 55 class VideoCaptureDeviceMac : public VideoCaptureDevice {
56 public: 56 public:
57 explicit VideoCaptureDeviceMac( 57 explicit VideoCaptureDeviceMac(
58 const VideoCaptureDeviceDescriptor& device_descriptor); 58 const VideoCaptureDeviceDescriptor& device_descriptor);
59 ~VideoCaptureDeviceMac() override; 59 ~VideoCaptureDeviceMac() override;
60 60
61 // VideoCaptureDevice implementation. 61 // VideoCaptureDevice implementation.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 std::unique_ptr<TakePhotoCallback> photo_callback_; 117 std::unique_ptr<TakePhotoCallback> photo_callback_;
118 118
119 // Used with Bind and PostTask to ensure that methods aren't called after the 119 // Used with Bind and PostTask to ensure that methods aren't called after the
120 // VideoCaptureDeviceMac is destroyed. 120 // VideoCaptureDeviceMac is destroyed.
121 // NOTE: Weak pointers must be invalidated before all other member variables. 121 // NOTE: Weak pointers must be invalidated before all other member variables.
122 base::WeakPtrFactory<VideoCaptureDeviceMac> weak_factory_; 122 base::WeakPtrFactory<VideoCaptureDeviceMac> weak_factory_;
123 123
124 DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceMac); 124 DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceMac);
125 }; 125 };
126 126
127 } // namespace media 127 } // namespace device
128 128
129 #endif // MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_MAC_H_ 129 #endif // DEVICE_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_MAC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698