webrtc/webrtc/modules/video_capture/ios/device_info_ios_objc.mm
sjlee@webrtc.org d690eab54f The video capture module for iOS.
This CL is from https://webrtc-codereview.appspot.com/1339004.

Patch this CL, then run the trunk/webrtc/build/vie-webrtc.sh.

BUG=2105
R=fischman@webrtc.org, mallinath@webrtc.org, niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1641004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4546 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-14 22:07:04 +00:00

50 lines
1.4 KiB
Plaintext

/*
* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#import <AVFoundation/AVFoundation.h>
#import "webrtc/modules/video_capture/ios/device_info_ios_objc.h"
@implementation DeviceInfoIosObjC
+ (int)captureDeviceCount {
return [[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo] count];
}
+ (AVCaptureDevice*)captureDeviceForIndex:(int)index {
return [[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]
objectAtIndex:index];
}
+ (AVCaptureDevice*)captureDeviceForUniqueId:(NSString*)uniqueId {
for (AVCaptureDevice* device in
[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) {
if ([uniqueId isEqual:device.uniqueID]) {
return device;
}
}
return nil;
}
+ (NSString*)deviceNameForIndex:(int)index {
return [DeviceInfoIosObjC captureDeviceForIndex:index].localizedName;
}
+ (NSString*)deviceUniqueIdForIndex:(int)index {
return [DeviceInfoIosObjC captureDeviceForIndex:index].uniqueID;
}
+ (NSString*)deviceNameForUniqueId:(NSString*)uniqueId {
return [[AVCaptureDevice deviceWithUniqueID:uniqueId] localizedName];
}
@end