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

Side by Side Diff: media/base/mac/avfoundation_glue.h

Issue 2529493002: mac: Remove more media/base/mac glue unneeded now that we target 10.9 (Closed)
Patch Set: . Created 4 years, 1 month 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
« no previous file with comments | « media/base/mac/BUILD.gn ('k') | media/base/mac/avfoundation_glue.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 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 // TODO(mcasas): Remove this whole glue, https://crbug.com/579648. This glue was
6 // introduced to support Mac OS X <= 10.6 where AVFoundation was not available,
7 // and had to happen in runtime.
8
9 #ifndef MEDIA_BASE_MAC_AVFOUNDATION_GLUE_H_
10 #define MEDIA_BASE_MAC_AVFOUNDATION_GLUE_H_
11
12 #if defined(__OBJC__)
13 #import <Foundation/Foundation.h>
14 #endif // defined(__OBJC__)
15
16 #include <stdint.h>
17
18 #include "base/macros.h"
19 #include "media/base/mac/coremedia_glue.h"
20 #include "media/base/media_export.h"
21
22 class MEDIA_EXPORT AVFoundationGlue {
23 public:
24 // Must be called on the UI thread prior to attempting to use any other
25 // AVFoundation methods.
26 static void InitializeAVFoundation();
27
28 #if defined(__OBJC__)
29 static NSBundle const* AVFoundationBundle();
30
31 // Originally coming from AVCaptureDevice.h but in global namespace.
32 static NSString* AVCaptureDeviceWasConnectedNotification();
33 static NSString* AVCaptureDeviceWasDisconnectedNotification();
34
35 // Originally coming from AVMediaFormat.h but in global namespace.
36 static NSString* AVMediaTypeVideo();
37 static NSString* AVMediaTypeAudio();
38 static NSString* AVMediaTypeMuxed();
39
40 // Originally from AVCaptureSession.h but in global namespace.
41 static NSString* AVCaptureSessionRuntimeErrorNotification();
42 static NSString* AVCaptureSessionDidStopRunningNotification();
43 static NSString* AVCaptureSessionErrorKey();
44
45 // Originally from AVVideoSettings.h but in global namespace.
46 static NSString* AVVideoScalingModeKey();
47 static NSString* AVVideoScalingModeResizeAspectFill();
48
49 static Class AVCaptureSessionClass();
50 static Class AVCaptureVideoDataOutputClass();
51 static Class AVCaptureStillImageOutputClass();
52 #endif // defined(__OBJC__)
53
54 private:
55 DISALLOW_IMPLICIT_CONSTRUCTORS(AVFoundationGlue);
56 };
57
58 #if defined(__OBJC__)
59
60 // Originally AVCaptureDevice and coming from AVCaptureDevice.h
61 MEDIA_EXPORT
62 @interface CrAVCaptureDevice : NSObject
63
64 - (BOOL)hasMediaType:(NSString*)mediaType;
65 - (NSString*)uniqueID;
66 - (NSString*)localizedName;
67 - (BOOL)isSuspended;
68 - (NSArray*)formats;
69 - (int32_t)transportType;
70
71 @end
72
73 // Originally AVCaptureDeviceFormat and coming from AVCaptureDevice.h.
74 MEDIA_EXPORT
75 @interface CrAVCaptureDeviceFormat : NSObject
76
77 - (CoreMediaGlue::CMFormatDescriptionRef)formatDescription;
78 - (NSArray*)videoSupportedFrameRateRanges;
79
80 @end
81
82 // Originally AVFrameRateRange and coming from AVCaptureDevice.h.
83 MEDIA_EXPORT
84 @interface CrAVFrameRateRange : NSObject
85
86 - (Float64)maxFrameRate;
87
88 @end
89
90 MEDIA_EXPORT
91 @interface CrAVCaptureInput : NSObject // Originally from AVCaptureInput.h.
92 @end
93
94 MEDIA_EXPORT
95 @interface CrAVCaptureOutput : NSObject // Originally from AVCaptureOutput.h.
96
97 - (NSArray*)connections;
98
99 @end
100
101 // Originally AVCaptureSession and coming from AVCaptureSession.h.
102 MEDIA_EXPORT
103 @interface CrAVCaptureSession : NSObject
104
105 - (void)release;
106 - (void)addInput:(CrAVCaptureInput*)input;
107 - (void)removeInput:(CrAVCaptureInput*)input;
108 - (NSArray*)outputs;
109 - (BOOL)canAddOutput:(CrAVCaptureOutput*)output;
110 - (void)addOutput:(CrAVCaptureOutput*)output;
111 - (void)removeOutput:(CrAVCaptureOutput*)output;
112 - (BOOL)isRunning;
113 - (void)startRunning;
114 - (void)stopRunning;
115
116 @end
117
118 // Originally AVCaptureConnection and coming from AVCaptureSession.h.
119 MEDIA_EXPORT
120 @interface CrAVCaptureConnection : NSObject
121
122 - (BOOL)isVideoMinFrameDurationSupported;
123 - (void)setVideoMinFrameDuration:(CoreMediaGlue::CMTime)minFrameRate;
124 - (BOOL)isVideoMaxFrameDurationSupported;
125 - (void)setVideoMaxFrameDuration:(CoreMediaGlue::CMTime)maxFrameRate;
126
127 @end
128
129 // Originally AVCaptureDeviceInput and coming from AVCaptureInput.h.
130 MEDIA_EXPORT
131 @interface CrAVCaptureDeviceInput : CrAVCaptureInput
132
133 @end
134
135 // Originally AVCaptureVideoDataOutputSampleBufferDelegate from
136 // AVCaptureOutput.h.
137 @protocol CrAVCaptureVideoDataOutputSampleBufferDelegate <NSObject>
138
139 @optional
140
141 - (void)captureOutput:(CrAVCaptureOutput*)captureOutput
142 didOutputSampleBuffer:(CoreMediaGlue::CMSampleBufferRef)sampleBuffer
143 fromConnection:(CrAVCaptureConnection*)connection;
144
145 @end
146
147 // Originally AVCaptureVideoDataOutput and coming from AVCaptureOutput.h.
148 MEDIA_EXPORT
149 @interface CrAVCaptureVideoDataOutput : CrAVCaptureOutput
150
151 - (oneway void)release;
152 - (void)setSampleBufferDelegate:(id)sampleBufferDelegate
153 queue:(dispatch_queue_t)sampleBufferCallbackQueue;
154
155 - (void)setAlwaysDiscardsLateVideoFrames:(BOOL)flag;
156 - (void)setVideoSettings:(NSDictionary*)videoSettings;
157 - (NSDictionary*)videoSettings;
158 - (CrAVCaptureConnection*)connectionWithMediaType:(NSString*)mediaType;
159
160 @end
161
162 // Originally AVCaptureStillImageOutput and coming from AVCaptureOutput.h.
163 MEDIA_EXPORT
164 @interface CrAVCaptureStillImageOutput : CrAVCaptureOutput
165
166 typedef void (^CompletionHandler)(CoreMediaGlue::CMSampleBufferRef, NSError*);
167 - (void)
168 captureStillImageAsynchronouslyFromConnection:(CrAVCaptureConnection*)connection
169 completionHandler:(CompletionHandler)handler;
170
171 @end
172
173 // Class to provide access to class methods of AVCaptureDevice.
174 MEDIA_EXPORT
175 @interface AVCaptureDeviceGlue : NSObject
176
177 + (NSArray*)devices;
178
179 + (CrAVCaptureDevice*)deviceWithUniqueID:(NSString*)deviceUniqueID;
180
181 @end
182
183 // Class to provide access to class methods of AVCaptureDeviceInput.
184 MEDIA_EXPORT
185 @interface AVCaptureDeviceInputGlue : NSObject
186
187 + (CrAVCaptureDeviceInput*)deviceInputWithDevice:(CrAVCaptureDevice*)device
188 error:(NSError**)outError;
189
190 @end
191
192 #endif // defined(__OBJC__)
193
194 #endif // MEDIA_BASE_MAC_AVFOUNDATION_GLUE_H_
OLDNEW
« no previous file with comments | « media/base/mac/BUILD.gn ('k') | media/base/mac/avfoundation_glue.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698